Vista无法正常用输入法的两个解决方法

Windows Vista中很多朋友抱怨无法正常使用输入法 , 例如无法正常使用五笔输入 , 无法使用紫光拼音 , 无法使用拼音加加等 。尤其是在IE浏览器里运行的时候 。
这时候一般是由于IE保护模式的作用 , 由于IE保护模式依赖于UAC、UIPI和MIC的作用 , 所以大概可以认为是UAC、UIPI或者MIC的安全功能导致这些输入法出现问题 。
1、一山不容二虎
保护模式下的IE进程运行在“低”级别 , 所以无法写入用户配置文件的区域 , 这样就可以阻止恶意网页破坏用户和系统数据 。同时IE会自动把这种写入操作重定向到一个特定的区域 。这样既能够确保安全 , 同时又能让IE的组件和加载项继续正常运行 。
但是如果IE加载项必须要和一个“中级”的进程一起共享数据 , 那么可能就会有问题 , 因为这时候IE进程(加载项)所访问的数据实际上被重定向了 , 而“中级”依然会去访问原来的位置 , 这可能导致错误 。
解决的办法:修改这些加载项 , 让它和外部进程一样同时有权限访问某个特定的区域;或者让外部进程也运行在“低级”级别 。
此外 , 也可以手工修改系统 , 把该共享区域设置为允许“低级”进程访问 。
2、UIPI惹的祸
如果IE加载项需要给外部进程发送Windows消息 , 就会被阻止 。这是由于UIPI的作用 , 只允许高级进程给平级或者低级的进程发送消息 , 这有点类似以前的地下党 , 只允许上级联系下级(单线联系) 。但是这可能会对一些老的输入法产生影响 , 导致无法正常工作 。
解决的办法:对输入法进行修改 , 允许外部进程接受指定的Windows消息 。或者使用RPC等安全机制 , 在IE进程和高级进程之间通信 。
目前 , 只能手动修改系统 , 强行禁用UIPI , 确保输入法的兼容性 。不过这会减弱系统的安全性 , 同时也等于阉割了IE保护模式的功能(尽管系统提示IE保护模式仍然在起作用 , 实际上已经被大大削弱) 。
在HKEY_LOCAL_MacHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem , 新建一个DWord键值EnableUIPI , 设置为0即可 。
重启系统 , 再测试几下 , 应该可以解决类似紫光拼音、拼音加加的问题 , 而且是真正的“彻底”解决 。
【Vista无法正常用输入法的两个解决方法】转自:Vista学园

    推荐阅读