中华网络安全联盟 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 进程知识 技术论坛
中华网络安全联盟 >> 操作系统 >> Vista >> 两法解决Windows Vista无法正常使用输入法
操作系统
Windows XP
Windows 2000
Windows Vista
Windows 2003
Windows 9x
DOS
Linux
Unix
制作MinWin的ASCII启动
告别CMD黑暗时代 迎来
利用Winsock LSP修复V
不需摆弄PS 图片处理让
倾力打造Vista的流光溢
Vista系统启动失败自动
只需两招 Vista虚拟内
解决Vista桌面没有IE图
两法解决Windows Vista无法正常使用输入法
字体:

中华网络安全联盟    作者:佚名    来源:互联网    时间:2007-10-27 16:44:01

很多朋友抱怨在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即可。

  重启系统,再测试几下,应该可以解决类似紫光拼音、拼音加加的问题,而且是真正的“彻底”解决。

字体:
 
设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
Copyright©2006-2008 中华网络安全联盟 All rights reserved.