发帖 关于WINCE下输入法的问题的解决方法

mooncmy 2009-11-13 09:07:30
加精
前几天在论坛上有人问我关于WINCE下输入法的问题,我以前也碰到过,现在把我的方法贴出来,供大家参考。

1 概述
本文介绍了如何定制微软简体中文输入法3.0及键盘等。
2 组件的添加
微软简体中文输入法是一种Input Method Editors (IME),它提供了拼音输入和双拼输入。
以下是微软简体中文输入法及其大、小键盘所需要的组件:
Input Method Manager (IMM) SYSGEN_IMM
National Language Support (NLS) SYSGEN_CORELOC
Multilingual User Interface (MUI) SYSGEN_MULTIUI
SimSun & NSimSun SYSGEN_FONTS_SIMSUN
MSPY 3.0 for Windows CE SYSGEN_MSPY3_SC
Double Spelling (Shuang Pin) soft keyboard – Large SYSGEN_SPIM_MSPY_LARGE
Double Spelling (Shuang Pin) soft keyboard – Small SYSGEN_SPIM_MSPY
MSPY 3.0 for Windows CE Database (Choose 1)
1.1 MB - Minimal Database SYSGEN_MSPY3_DB_1
1.3 MB - Compact Database SYSGEN_MSPY3_DB_3
1.7 MB - Standard Database SYSGEN_MSPY3_DB_7
Keyboard/Mouse Common SEUIC_COMMONKEYBOARD
SEUIC_KBDMOUSE
需要注意的是这里的大、小键盘是微软简体中文输入法自带的大、小键盘,却不是使用微软简体中文输入法所必须的,也可以不选,而使用Shell and User InterfaceUser InterfaceSoftware Input PanelSoftware-based Input Panel (SIP) (Choose 1 or more)下的默认的标准大、小键盘。两者的区别在于:如果使用自带的键盘就是使用双拼输入汉字,如果使用标准的键盘就是使用全拼音输入汉字,但只能拼写一部分,有些字不能拼写。另外中文输入法一般都是IME的,比如Pocket IME和微软简体中文输入法,这种一般都只能用一个。而有些输入法是SIP的,就可以存在多个。当然IME和SIP可以共同存在。
3 默认中文设置
微软简体中文输入法只能用在默认语言是中文的系统版本里。所以在PB菜单的PlatformSettingLocale的页面下设置:
Locales: 中文(中国) //勾选
Default language: 中文(中国)
4 注册表的修改
在platform.reg里有系统默认的设置:
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
@="00000409"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="00000409"
这样系统就不能识别微软拼音。我们可以采用下面两种方法之一来解决。
一、 删除这两项键值。
二、 将它修改为:
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
@="e0010804"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010804"
...全文
3168 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
WenWang 2011-08-28
  • 打赏
  • 举报
回复
WINCE7系统手写输入法[9.1.1.0078]版本已经发布
http://blog.csdn.net/wenwang/article/details/6726202
笨笨熊 2011-05-20
  • 打赏
  • 举报
回复
学习一下,感谢分享
sjjlf 2011-04-04
  • 打赏
  • 举报
回复
好帖,一定要顶
tiankaibo_2011 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 richyaoyuan 的回复:]
我把wceshellfe.reg文件中关于输入法的一段拷备下来


; @CESYSGEN IF WCESHELLFE_MODULES_MSIMESP
; Simplified Chinese Pocket IMEs

[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010804"

[HKEY_CURRENT_USER\……
[/Quote]
大哥,我现在在做输入法,和你当初的问题一样,请教下你当初是怎么解决的呢?给点意见。
wgqabc 2010-10-01
  • 打赏
  • 举报
回复
看到这个帖子有点希望,试一试再说结果
zhangybs1981 2010-07-05
  • 打赏
  • 举报
回复
我发现也是不行。。。


Keyboard/Mouse Common SEUIC_COMMONKEYBOARD
SEUIC_KBDMOUSE
xilangyue 2010-06-10
  • 打赏
  • 举报
回复
真是好贴啊
harkspan 2010-06-02
  • 打赏
  • 举报
回复
Mark
xqhrs232 2010-04-08
  • 打赏
  • 举报
回复
看不大明白,做个记号先!!!
yxl1986 2010-04-02
  • 打赏
  • 举报
回复
学习学习
zhangsanbi 2010-01-28
  • 打赏
  • 举报
回复
正在学习做输入法,感谢
cuso4512007 2009-11-17
  • 打赏
  • 举报
回复
多谢楼主,找了好久
richyaoyuan 2009-11-17
  • 打赏
  • 举报
回复
试了改0804也不行。
richyaoyuan 2009-11-17
  • 打赏
  • 举报
回复
我把wceshellfe.reg文件中关于输入法的一段拷备下来


; @CESYSGEN IF WCESHELLFE_MODULES_MSIMESP
; Simplified Chinese Pocket IMEs

[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010804"

[HKEY_CURRENT_USER\Keyboard Layout\Preload\2]
@="e0020804"

; Allow change UI of IME.
; Make your own IMEUI dll and change "UI Module" field to your dll name.
; Only need to export one API: void CALLBACK ImeGetUIClassName(LPTSTR);
; IME will call this API to copy your UI class name.
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Layouts\e0010804]
"Layout Text"="Microsoft CHS ShuangPin IME"
"Ime File"="msimesp.dll"
"UI Module"="msimeuic.dll"
"Keyboard Layout"="00000409"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Layouts\e0020804]
"Layout Text"="Microsoft CHS PinYin IME"
"Ime File"="msimepy.dll"
"UI Module"="msimeuic.dll"
"Keyboard Layout"="00000409"

是不是"Keyboard Layout"="00000409"应该改成0804的啊?
richyaoyuan 2009-11-17
  • 打赏
  • 举报
回复
我刚试了一下儿把这两项都删了,也没啥用啊。还是老样子,哎
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010804"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\2]
@="e0020804"
kiwins 2009-11-17
  • 打赏
  • 举报
回复
顶下哦
richyaoyuan 2009-11-17
  • 打赏
  • 举报
回复
补充一下儿,我的是CE4.2系统
richyaoyuan 2009-11-17
  • 打赏
  • 举报
回复
楼主大哥,终于等到你的信儿了。。。我查了一下儿我的设置。

platform.reg里面没有关于这两项的内容。
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
@="00000409"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="00000409"
我在wceshellfe.reg里找到了下面两项相关的。
; @CESYSGEN IF WCESHELLFE_MODULES_MSIMESP
; Simplified Chinese Pocket IMEs
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010804"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\2]
@="e0020804"
这里面本来就不是e00000409啊?我的问题是不是不是在这里啊?请指点,万分感谢!
ggcsd 2009-11-16
  • 打赏
  • 举报
回复
xexi
hallowwar 2009-11-16
  • 打赏
  • 举报
回复
定美图了。
加载更多回复(26)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧