系统输入法卸载后热键关联的修复

软件与互联网技术
Admin
Advanced Member
Posts: 89
Joined: Thu May 13, 2004 11:56 am

系统输入法卸载后热键关联的修复

Post by Admin »

为系统中极点五笔输入法配置的快捷键在卸载、重装升级之后失效,且无法在输入法配置中修复,系统提示
Failed to change key sequence for Switch to Chinese (PRC) - 中文(简体) - 极点五笔. Please check if the same key sequence is used for another item.
经搜索,发现该问题早在2005年即存在,当卸载某输入法时没有在配置面板中取消其原有快捷键定义,那么这个快捷键的分配即会保留在注册表中而不会随该输入法的卸载而释放,从而造成资源占用而无法进行再次分配。

该问题的解决可通过以下方式,以极点五笔由6.4版升级为6.5版为例(系统为Windows XP SP3 英文OEM版),打开注册表编辑器,找到

Code: Select all

HKEY_USERS/S-1-5-21-1659004503-1844237615-725345543-1003/Control Panel/Input Method/Hot Keys
,可发现下级键值为类如 00000010、00000101、00000201等形式。由于本例中为极点五笔分配的快捷键为ALT+SHIFT+数字,且也为其它输入法分配了快捷键,经数次测试,其对应的键值是0000010X(X代表1、2或3等数字)。

导致快捷键分配资源被占用的原因是,当原有输入法被卸载后,其对应的快捷键在注册表中的键值仍然保留,在本例中,该值是00000102(这是经数次调整测试后发现的*),其下Virtual Key的Binary值是35 00 00 00,35对应为数字键盘的5(依此类推,快捷键若设置为数字键1,则该Binary值就是31 00 00 00)。

因此,解决方案是:
1. 将00000102删除,则对应的快捷方式ALT+SHIFT+5被释放,然后到输入法配置面板中重新分配该快捷方式给极点五笔;

2. 在00000102下找到Target IME的Binary值并进行修改,更新为新版的极点五笔程序值(或更新为欲分配快捷方式的输入法的值)。在本例中,原极点五笔的程序值在Target IME下为04 08 21 E0,新极点五笔,即6.5版的程序值为04 08 99 E0。更新完成后无须保存注册表,即可在输入法控制面板中看到快捷键分配完成。

* 测试调整的办法是,将同一输入法重新赋予新快捷键,并为不同输入法依次赋予不同的快捷键,查看注册表上述分支下的键组变化。当取消原有快捷键分配时,刷新注册表即可发现变动,如00000101消失、35 00 00 00变为31 00 00 00 等。

转载请保留本链接 http://forums.bizedu.net/index.php?showtopic=916

Who is online

Users browsing this forum: No registered users and 0 guests