1

好的,我有一个 IE 插件,安装时需要(在用户许可的情况下)重新启动 IE。

为此,我有一个由安装程序调用的 DLL。它可以工作,但问题是当在 Vista 上重新启动 IE 时,它会以安装程序的管理员权限重新启动,这是一个问题,原因有很多。

我正在使用 CoCreateInstance 启动 IE,以便获得 IWebBrowser2 接口的实例,以便对其执行一些操作。

所以我的问题是,是否可以从以管理员权限运行的应用程序调用 CoCreateInstance,从而生成的 COM 对象实例继承基本用户权限而不是调用应用程序的管理员权限?

4

1 回答 1

1

好的,我从这里找到了解决方案:

http://social.msdn.microsoft.com/Forums/cs-CZ/ieextensiondevelopment/thread/78a2bc18-1920-4e58-af7e-48dbcebe7643

我需要从我的安装程序 DLL 启动一个新线程,并在该线程上模拟当前用户,然后设置低完整性级别,并使用 CLSCTX_ENABLE_CLOAKING 上下文创建 COM 实例。

于 2009-08-20T09:13:17.680 回答