我在C#中编写一个IE扩展(BHO).当以保护模式运行(IE的新的UAC兼容模式,强制所有扩展以低完整性运行)时,它失败,因为它无法访问appdata
文件夹中的user.config.
有没有办法标记文件可读性较低的完整性过程?
否则,是否有办法强制BHO运行在中等程度的诚信?
否则,有没有办法在低完整性文件夹中创建一个低完整性符号链接,指向AppData中的中等完整性文件?
否则,是否有办法强制应用程序在LocalLow文件夹中使用user.config文件?如何在.net中获取此文件夹的路径(它没有列在Environment.SpecialFolder下)?使用运行XP的用户或关闭保护模式的用户将不会丢失所有的user.config数据?
有一种
方法不是特别优雅,但是您可以启动具有中级完整性的另一个(代理)进程,这可以做到“脏工作”,并使用IPC与之通信.为了使您的生活更轻松,我建议您使用
套接字进行通信,因为它们不需要安全检查,当您在不同完整性级别的进程之间进行通信时,这可能会很棘手.
为了在生成新进程时跳过UAC警告,您可以修改BHO注册脚本,并添加几个注册表值,这将使IE无条件地将新进程升级到中级.
您可以在这里找到更多信息:http://msdn.microsoft.com/en-us/library/bb250462(VS.85).aspx#wpm_elebp
原文链接:https://www.f2er.com/csharp/94480.html