代码之家  ›  专栏  ›  技术社区  ›  Gerald

在Vista上调用CoCreateInstance时是否可以降低特权级别?

  •  1
  • Gerald  · 技术社区  · 15 年前

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

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

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

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   Gerald    15 年前

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

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

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