日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WINCE6.0添加特定的软件键盘

發布時間:2025/4/16 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WINCE6.0添加特定的软件键盘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

*******************************LoongEmbedded********************************

作者:LoongEmbedded

時間:2010.12.05

類別:WINCE應用開發********************************LoongEmbedded********************************

?

前天因客戶的需要,需要在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/{A523DFC7-1A7E-4AF6-991A-510E75847929}]

@="LargeKB"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847929}/DefaultIcon]

@="//windows//LargeKB.dll"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847929}/InprocServer32]

@="//windows//LargeKB.dll"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847929}/IsSIPInputMethod]

@="1"

?

;;;;;;;;;;;;;;;;;;;;;;;;;add for smallKB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847729}]

@="SmallKB"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847729}/DefaultIcon]

@="//windows//SmallKB.dll"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847729}/InprocServer32]

@="//windows//SmallKB.dll"

?

[HKEY_CLASSES_ROOT/CLSID/{A523DFC7-1A7E-4AF6-991A-510E75847729}/IsSIPInputMethod]

@="1"

?

ENDIF BSP_HEBREW

?

3.?????? LargeKB.dllSmallKB.dll拷貝到release的目錄下。

4.?????? 編譯生成NK.bin并且更新NK,在新的系統中點擊屏右下角的輸入法和鍵盤的圖標,有kyeboard(系統自帶的)LargeKBSmallKB這三種鍵盤,默認選擇的是keyboard,但是我要選擇LargeKB或是SmallKB的時候,沒有反應,彈出來的還是keyboardinput panel,為什么呢?一時不知道原因,因為我在WINCE5.0中驗證過這兩種鍵盤是可用的了。而kyboard這個系統自帶的input panel是可以正常使用,就到common.reg中查找這個鍵盤的相關內容,如下:

; SIP IM values

; Default keyboard initial delay and autorepeat

[HKEY_CURRENT_USER/ControlPanel/Keybd]

"InitialDelay"=dword:177

"RepeatRate"=dword:8

?

[HKEY_CLASSES_ROOT/CLSID/{42429667-ae04-11d0-a4f8-00aa00a749b9}]

@=LOC_KEYBOARD

"KBMode"=dword:5

[HKEY_CLASSES_ROOT/CLSID/{42429667-ae04-11d0-a4f8-00aa00a749b9}/InprocServer32]

@="//windows//msim.dll"

[HKEY_CLASSES_ROOT/CLSID/{42429667-ae04-11d0-a4f8-00aa00a749b9}/IsSIPInputMethod]

@="1"

[HKEY_CLASSES_ROOT/CLSID/{42429667-ae04-11d0-a4f8-00aa00a749b9}/DefaultIcon]

@="//windows//msim.dll,0"

比較之后知道我的platform.reg中上面的內容正確的,那問題可能會在哪里呢?通過msim.dll來找到keyboardplatorm.bib中相關內容如下:

; @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添加特定的软件键盘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。