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