![]() |
1
8
看看 Windows Vista UAC Demo Sample Code (您还需要 Vista Bridge 非杀虫药方法样品(CoGetObject方法) 它为您提供了C代码,显示了几种不同的提升方式,包括COM对象 (不完整的代码示例-获取上面的文件)
|
![]() |
2
3
我认为CoCreateInstanceAsAdmin工作的唯一方法是提前注册COM组件。如果您希望应用程序在XCopy部署设置中工作,则这可能是一个问题。 出于我在Gallio的目的,我决定创建一个带有清单的托管进程,以要求管理员权限。然后,当我需要执行提升的操作时,我启动宿主进程的一个实例,并通过.Net远程处理指示它执行在Gallio的控制反转容器中注册的特定命令。 这是一个公平的工作,但加利奥已经有一个进程外托管设施,所以添加到组合的提升不是太难。此外,该机制确保Gallio可以执行权限提升,而无需在注册表中预先安装任何其他COM组件。 |
![]() |
3
2
立面元素是过程。因此,如果我正确地理解了您的问题,并且您希望在流程中提升COM对象,那么答案是您不能。CoCreateInstanceAsAdmin的整个要点是不要在您的流程中运行它。 |