Windows Vista IE 7保护模式开发者生存指南
2008-08-22 17:24:11 来源:WEB开发网核心提示: 当某个进程想要对其没有权限的区域进行写入时,虚拟化这时就起作用了,Windows Vista IE 7保护模式开发者生存指南(2),它把这些写操作重定向至当前用户个人配置文件(User Profile)下的目录(或注册表键),最终的写操作就写到这里,插件中成对出现的按钮代表了在保护模式中不
当某个进程想要对其没有权限的区域进行写入时,虚拟化这时就起作用了,它把这些写操作重定向至当前用户个人配置文件(User Profile)下的目录(或注册表键),最终的写操作就写到这里。之后,当程序想要读取数据时,读操作也被重定向至此,正确读取了之前写入的数据。
虚拟化技术也会对IE插件有所影响,因为插件再也不能为了与其他进程共享数据,而把配置信息写入到注册表中了(甚至HKCU下也不行),同时,在那些插件可写数据之处,也是极受约束的,只有一些IE特定的目录,如Favorites及Cookies可写。
保护模式何时打开
在Vista默认状态下,IE均运行在保护模式中,状态栏(下图)显示了保护模式是否启用:
关闭UAC,就可以彻底关掉保护模式了,在Internet属性对话框的安全页中,不勾选“启用保护模式”;也可运行一个提升权限后的新IE实例,来临时绕过保护模式,但这样做之后,会使IE运行在高级完整性级别,而不像普通程序那样在中级。
示例程序及插件
示例代码中包含了两个工程,第一个工程是IEExtension,它是一个停靠在IE窗口底部的一个插件:
第二个工程是DemoAPP,其为一个用作通讯的exe文件,它本身代码并不多,关键代码都在IEExtension中与其进行通讯之处。插件中成对出现的按钮代表了在保护模式中不能正常工作的方法(按钮1)及新的可工作于保护模式中的方法(按钮2),列表控件用于显示状态信息,如Windows API的返回值。
更多精彩
赞助商链接