能否在不启动另一个进程的情况下提升UAC进程权限?

13
我想知道一个程序是否可以在不启动另一个进程的情况下提示用户以UAC权限提升。
互联网上所有我找到的示例似乎都是使用ShellExecute "runas",这会创建一个带有提升权限的新进程。
如果不可能实现上述功能,那么我最好的解决方案可能是创建一个命名管道,使用特殊参数ShellExecute我的程序,然后将它执行所需的所有数据推送到管道中。如果有任何更好的建议,请告诉我。
感谢任何您能提供的意见。
2个回答

7

不,你不能提升现有进程的权限。你是对的 - 你必须启动一个新的提升过的进程,并让它为你完成工作。


2

另一种可能的答案(实际上是相同的答案)是创建一个以LocalSystem身份运行的服务,代替你执行需要提升权限的工作。


1
这就是logmein.com在Vista和Windows 7上使用远程桌面的方式。 - Phil Hannent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接