前天因客戶的需要,需要在wince6.0的系統中新增以色列語言的鍵盤到系統中,本以為是很簡單的事情,因為之前在wince5.0下也有做過在系統中增加鍵盤的經歷了,所需要的工作如下:
1. 在plarform.bib中加入下面的內容:
if bsp_hebrew
largekb.dll $(_flatreleasedir)/largekb.dll nk shk
smallkb.dll $(_flatreleasedir)/smallkb.dll nk shk
endif bsp_hebrew
在這裡環境變數來根據專案需要是否在系統中包含這兩個鍵盤。
2. 在platform.reg中加入下面的內容:
if bsp_hebrew
;;;;;;;;;;;;;;;;;;;;;;;;;;add for largekb;;;;;;;;;;;;;;;;;;;;;;;
[hkey_classes_root/clsid/]
@="largekb"
[hkey_classes_root/clsid//defaulticon]
@="//windows"
[hkey_classes_root/clsid//inprocserver32]
@="//windows"
[hkey_classes_root/clsid//issipinputmethod]
@="1"
;;;;;;;;;;;;;;;;;;;;;;;;;add for smallkb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[hkey_classes_root/clsid/]
@="smallkb"
[hkey_classes_root/clsid//defaulticon]
@="//windows"
[hkey_classes_root/clsid//inprocserver32]
@="//windows"
[hkey_classes_root/clsid//issipinputmethod]
@="1"
endif bsp_hebrew
3. 把largekb.dll和smallkb.dll拷貝到release的目錄下。
; sip im values
; default keyboard initial delay and autorepeat
[hkey_current_user/controlpanel/keybd]
"initialdelay"=dword:177
"repeatrate"=dword:8
[hkey_classes_root/clsid/]
@=loc_keyboard
"kbmode"=dword:5
[hkey_classes_root/clsid//inprocserver32]
@="//windows"
[hkey_classes_root/clsid//issipinputmethod]
@="1"
[hkey_classes_root/clsid//defaulticon]
@="//windows,0"
; @cesysgen if ce_modules_msim
msim.dll $(_flatreleasedir)/msim.dll nk sh
; @cesysgen endif
經過比較才發現msim.dll後面對應的是sh,而不是shk,發現這個問題後才忽然醒悟鍵盤是應用程式dll,不屬於核心態,所以不能是shk。就這樣,把第1步中的shk都改為sh後就正常使用那兩個鍵盤了。
WINCE6 0新增特定的軟體鍵盤
前天因客戶的需要,需要在wince6.0的系統中新增以色列語言的鍵盤到系統中,本以為是很簡單的事情,因為之前在wince5.0下也有做過在系統中增加鍵盤的經歷了,所需要的工作如下 在plarform.bib中加入下面的內容 if bsp hebrew largekb.dll flatreleased...
wince6 0新增外部字型庫
初始化對話方塊時先 addfontresource l sdmmc msyh.ttf sdmmc是sd卡路徑下 然後在繪製函式裡面新增你要加的onpaint 為了防止重繪,所以先建立記憶體dc logfont lf int noldbkmode hfont hfontold,hfontnew cre...
wince 6 0 的編譯錯誤
剛才新增wince6.0 對mfc的支援,只是在platform.bib中增加了幾個mfc相關的dll而已,按照wince5.0 經驗,就是執copy file to release directory就可以了,但是我執行它之後去工程目錄下看並沒有更新platform.bib,不知道咋回事,後來我手...