如何在不刪除必要元件的前提下減小核心檔案長度? 要減小核心檔案長度首先要在使用pb的定製核心嚮導中選擇自定義,也就是說對於每個元件都由自己來選擇,而不是選擇pb的標準配置。但減小核心檔案長度最有效最直接的辦法是縮小字型,尤其對於東亞字型,採用字型壓縮技術並且選擇合理的字型檔檔案將明顯縮小檔案長度。
1、在定製核心時選擇agfa ac3 font compression元件。sysgen變數為sysgen_agfa_font。
2、參考標題為「east asian font versions」的幫助文件,從中選擇你需要的字型檔檔案加到核心中,從文件可以看出加ac3壓縮比不加壓縮在檔案長度方面差距很大。
如何在dialog-based程式中加入menubar? 先呼叫commandbar_create再呼叫commandbar_insertmenubar。 請問multibytetowidechar與_t、l、text的區別?
multibytetowidechar函式轉換的物件可以是常量也可以是變數。其它只能轉換常量。_t和text會根據當前系統是否定義_unicode巨集來決定是否轉換,而l就是轉換成寬字元,當然也包括其他型別常量的轉換。
在用ubs線纜通過activesync同步有效的情況下,如何插上usb線纜後wince自動與pc同步?
1、新建乙個撥號連線,假設名稱為「usb1」,選擇連線型別為「直接連線」,並在連線裝置裡選擇通過usb線纜連線。
2、將登錄檔[hkey_current_user/comm/rasbook/usb1]下的資料新增到project.reg或者platform.reg中。
3、在[hkey_current_user/controlpanel/comm]下新增如下: "autocnct"=dword:1 ///直接連線 "cnct"="usb1" ///連線名稱
4、重新編譯核心。為了節省編譯時間也可以在核心工程下搜尋*.reg檔案,將2、3步驟中的登錄檔資料新增其中,然後直接make image。
如何通過程序控制代碼來獲得該程序的主視窗控制代碼?
好像沒有api能夠通過程序控制代碼直接獲得主視窗的控制代碼,因為並非每個應用程式都帶ui。但是可以反過來,先列舉當前系統所有主視窗,然後根據每個視窗的控制代碼呼叫getwindowthreadprocessid函式得到程序的id,再呼叫openprocess得到程序控制代碼,與現有的程序控制代碼比較。
我做的顯示驅動dll已經編譯成功了,但是在載入顯示驅動的過程中彈出話框,提示如下: unhandled exception in gwes.exe (0xc0000005 access violation) 提示的錯誤——位址訪問非法,表明你的驅動程式**並沒有在讀寫資料前新增setkmode(true)或者setprocpermissions (0xffffffff)函式讓執行緒能夠訪問任何程序的位址空間。
你可以呼叫 isbadreadptr和isbadwriteptr函式檢測位址是否能夠合法訪問。編寫和gwes有關的驅動程式應該首先呼叫setkmode(true)或者setprocpermissions(0xffffffff) 函式,這是乙個好習慣。
請問在嵌入式系統中如何設定gprs拔號用的apn? 對乙個撥號連線比如「我的連線」單擊滑鼠右鍵,在彈出的選單中選擇「屬性」,然後單擊「配置」—「撥號選項」,在「附加設定」中新增at命令如「+cgdcont=1,"ip","cmnet"」。「cmnet」位置即為apn。
wince的ip phone功能如何?
wince的voip需要c-s-c結構,既需要伺服器的中轉,而skype採用第三代p2p技術就不需要中轉,但是在gprs下也做不到語音流暢。skype有pocket pc版本,但是無線方面需要wlan或者cdma。
三星arm平台如何定義自己的中斷id?
以s3c2410 為例,在oalintr.h檔案中定義中斷id,也稱sysintr,例如 #define sysintr_myint (sysintr_firmware+20),最大值不能超過sysintr_firmware+23。然後在armint.c檔案中找到 oeminterrupthandler函式,用if (intpendval == intsrc_***) 判斷當前發生的中斷源號,然後返回 sysintr_myint。核心分別呼叫oeminterruptdisable(禁止當前中斷)、oeminterruptdone(中斷處理結束)、oeminterruptenable(當前中斷有效)三個函式,引數都為中斷id,在這三個函式中用 case sysintr_myint判斷當前要處理的中斷。
如何開發軟體從pc端複製檔案到基於wince的裝置?
請問如何對nandflash分割槽、格式化?
你看看wince420/public/common/oak/drivers/ethdbg/bootpart/bootpart.cpp,在eboot中先要呼叫bp_lowlevelformat( dword dwstartblock, dword dwnumblocks, dword dwflags)再flash的乙個區域建立空的mbr,然後連續兩次呼叫 bp_openpartition(dword dwstartsector, dword dwnumsectors, dword dwparttype, bool factive, dword dwcreationflags)函式來建立binfs和fat分割槽。建好後,將nk.bin燒入binfs 分割槽中。
要做個彈出對話方塊具有 always on top 屬性,如何實現? 呼叫setwindowpos(.. , hwnd_topmost, ...., swp_noactivate)。 s3c2410+wince下網路ping一會就斷,如何解決?
原因在於中斷處理程式把已經產生的中斷標誌清除掉了,這樣就丟失一次中斷。因為原驅動裡配置中斷為上公升沿觸發,一次中斷丟失就導致不會再產生中斷訊號跳變,因為只有在中斷服務中讀取了cs8900的 interrupt status queue暫存器後,才會產生下一次中斷!
解決辦法:
1、在cfw.c檔案中全域性定義bool inited = false
2、修改oeminterruptenable()中case sysintr_ether: 下面的語句為: if(inited == false) s2410iop->reintmask &= ~0x200; s2410int->rintmsk &= ~bit_eint8_23; break; 注:本解決辦法**於http://stoned.blogchina.com/stoned/3083045.html,非我本人研究成果。
已經搜尋到檔案,如何用clistbox以圖示形式顯示出來?
clistctrl listctrl; cimagelist imagelist; imagelist.create(idb_bitmap, 48, 2, rgb(0,0,0)); listctrl.setimagelist(&imagelist, lvsil_normal); listctrl.insertitem(ilistindex, stritem, 1);
如何改變控制面板中電源屬性對話方塊的尺寸?
1、需要修改對話方塊的尺寸是因為對話方塊是以資源方式載入的,不會根據當前系統顯示解析度而自我調節尺寸。
2、安裝wince後有一些元件(feature)的資源檔案*.res就已經有了,如果你不改變,那麼build核心的時候pb只是把這些.res複製到工程目錄下,然後與*.obj合併成exe、dll、cpl。所以修改了.rc檔案裡面的對話方塊尺寸後要重新編譯.rc檔案為.res檔案,然後再覆蓋原來 wince自帶的.res檔案。
3、改變對話方塊尺寸有兩種辦法:一種方法是更改系統字型字型大小,系統字型的字型大小變化會影響對話方塊的尺寸,但是缺點是所有系統字型有關的ui都會改變。另一種是在.rc檔案中調整對話方塊尺寸,然後編譯成.res檔案,再將.res複製到對應的語言目錄裡,比如目錄名為0804(中文),再執行rebuild命令重新編譯核心,或者執行sysgen+build。在研究中我發現.res檔案雖然能夠直接用evc開啟、修改、儲存,但是和其它obj鏈結成exe、dll、cpl後並不能執行,所以還是建議讀者用ce自帶的rc工具編譯最好。讀者可在pb的命令列中鍵入「rc /?」了解rc.exe工具的用途和引數。
使用evc build之後連線模擬器的時候,提示download file等了一會又出現download failed? 一般這樣的問題從下面幾個步驟解決: 1、如果之前能啟動模擬器而現在不能,那麼先clean然後重啟計算機再build。
2、如果開發的主機為winxp+sp2,可能存在與evc模擬器不相容的情況,檢查c:/boot.ini,將/noexecute=optin改為/execute=optin。
3、檢查你的模擬器是否能執行,假設你正用的sdk名稱為mysdk,單擊選單tools—configure platform manager,選擇 mysdk—mysdk emulator,再單擊properties—test,看看模擬器是否能夠啟動,如果能啟動那問題就不大。
4、單擊選單build—update remote output files,看看模擬器是否能夠啟動。
5、如果上述辦法均不行,關閉evc然後重新建立乙個新的工程,編譯,看看模擬器是否能夠啟動,如果能啟動說明原來工程出了問題,最好恢復原工程的備份。
如何設定能夠自動撥號、禁止自動撥號?
在[hkey_local_machine/comm/autodial]下是自動撥號的登錄檔設定。 enabled=dword:1 ///是否能夠自動撥號 failretrywaitms=dword ///如果失敗再次撥號的等待時間 rasentryname1= reg_sz ///自動撥號採用的撥號連線名稱 更多細節請參考標題為「auto dial registry settings」的幫助文件。
WinCE驅動開發問題精華集錦 二
我怎麼能在pb左邊的定製平台加進我的驅動呢?兩種辦法 1 在platform.bib或者project.bib的modules部分新增一條語句,例如 mydriver.dll c driver mydriver.dll nk sh 這樣編譯核心的時候就會把你的驅動dll檔案新增到核心中,如果有登錄檔...
wince藍芽開發問題
1 搜尋指定裝置時總失敗 調查發現,bthnslookupservicenext,指定第二個引數lup return name lup return addr指定,函式執行成功後裝置名字為空,通過呼叫bthremotenamequery還可以獲得裝置名字,原因未知 2 配對總失敗 配對過程掉用bth...
iOS 開發問題集錦(一)
最近在qq群裡好多人問一些比較基礎的問題,在這羅列一下 1 鍵盤上的斜槓鍵壞掉了,怎麼樣用快捷鍵進行注釋呢?首先在xcode中注釋的預設快捷鍵為 command 其次可以自行修改快捷鍵 xcode preferences.key bindings,如下圖 2 xcode中的導航區域關閉了,如何調出來...