靠谱的软件下载站
当前位置:  IEfans/IE专区/IE修复/IE9无法输入文字以及鼠标无法滚动的原因以及彻底解决方法

IE9无法输入文字以及鼠标无法滚动的原因以及彻底解决方法

IE修复 互联网 2012-03-14 阅读(5623)
IE9从最初的Beta版推出,在到2011年3月份正式版的推出,直至现在已经快有2个年头了。它通过其快速、简洁、可靠、具有互操作性等创新特性,不仅对 Windows 7 和电脑硬件性能的得到充分利用,并且对 HTML 5 和 CSS3 等现代网络标准的得到充分支持,得到了全球广大用户的广泛认可,在浏览器市场表现出持续的良好势头,目前已成为 Windows 7 系统上最热门的浏览器。 但是,有不少用户在刚开始的使用过程当中也遇到了一些问题,比如无法输入或者鼠标滑轮无法滚动等问题。当然聪明的用户也发现了针对该问题的解决办法,包括以管理员身份运行IE浏览器、关闭IE的保护模式或者关闭UAC等等。 但为什么IE9无法原生的解决该问题呢?为此昨天还有用户留言抱怨,IE9推出快2年了,这个问题从IE9发布开始就存在,这期间微软也更新了几个IE9安全补丁,现在已经是IE9.0.5了,为什么微软一直都没有解决呢? 经过研究,造成这个问题的原因并非IE9本身的原因,而是系统UIPI功能被关闭导致的。由于UIPI的作用,只允许高级进程给平级或者低级的进程发送消息,若IE加载项需要给外部进程发送Windows消息,就会被阻止。导致外部进程无法接受指定的Windows消息,从而导致部分程序无法正常工作。 下面我们来具体说一下什么是UIPI以及为什么关闭该功能会造成以上问题产生,并且以此来寻求相应的解决办法。 UIPI指 User Interface Privilege Isolation(用户界面特权隔离),是Windows NT 6.0后(即Vista)引入的一种新的安全特性,是整个UAC机制的有机组成部分,主要用于拦截接受对自身进程MIC等级还低的进程发来的消息。 其中UIPI是基于进程的MIC等级的,而在Windows NT6.0以后的系统里面,MIC一共可以分为六个等级:
SECURITY_MANDATORY_UNTRUSTED_RID 不信任的MIC等级
SECURITY_MANDATORY_LOW_RID 低MIC等级,如IE
SECURITY_MANDATORY_MEDIUM_RID 中MIC等级,如Explorer
SECURITY_MANDATORY_HIGH_RID 搞MIC等级,以管理员身份运行的都是这个等级
SECURITY_MANDATORY_SYSTEM_RID 系统MIC等级,服务应用程序
SECURITY_MANDATORY_PROTECTED_PROCESS_RID 受保护进程的MIC等级
这里可以看到IE是低MIC等级的,主要是为了在一定程度上解决IE的安全性问题----即使很多病毒通过IE下来,但是由于本身是通过IE系统,相应的MIC等级过低,可以防止他对其他进程造成不良影响。 因为很多应用软件是利用窗口消息进行进程间数据的传输的,为了更好的保障应用程序与Windows良好的兼容性,微软在UIPI的机制上,开设了一个后门用于照顾那些应用程序。但是这个后门被人为的限制了工作范围,只有消息ID大于VM_USER的用户自定义消息才允许通过,否则这个后门是无效的。 要使用这个后门,需要调用一个API函数ChangeWindowMessageFilter。ChangeWindowMessageFilter设计了2个参数:消息ID和操作方法。消息ID用于将指定的消息ID置入后门列表,操作方法用于判断是否允许自动放行。 推出Vista之时,有部分软件为了解决其兼容性问题,手动对系统进行修改,强行禁用UIPI,以确保程序兼容性,但其实减弱系统的安全性,同时也大大削弱了IE保护模式的功能(尽管系统提示IE保护模式仍然在起作用)。其采取的方法是新建一个策略,置EnableUIPI值为0,即关闭UIPI实现。 在IE9中,微软进一步提高了浏览器的安全级别,若我们不手动更改相关权限级别,我们无法像之前一样取巧的降低安全性能。当UIPI被关闭后,在非管理员权限级别下,我们无法突破用户界面特权隔离。此时输入模块便无法成功的通过UIPI开启的这个特殊后门,所以便无法正常输入。这也是为什么我们可以通过关闭保护模式,或者以管理员身份运行IE来提高IE的MIC来解决上述问题原因。 所以很明显,无法输入问题的解决方案就是找到了。我们可以按下面的步骤来打开注册表: 依次点击开始-->>>搜索框里输入regedit 打开注册表,并找到以下路径: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ EnableUIPI 然后将该值设置为1以启用UIPI,或直接删除EnableUIPI这项即可,默认UIPI是开启的。 (如果你找不到该键值,那么你可以定位到System下的UIPI,然后双击右侧的“默认”键值,将数值数据改为1,确定即可) 修改UIPI的默认键值

标签:IE修复IE9输入法鼠标

Copyright © 1998-2017 www.iefans.net All Rights Reserved 湘ICP备13012168号-17