【发布时间】:2014-01-29 14:12:10
【问题描述】:
我有一个以管理权限运行的应用程序。 使用应用程序清单自动提升权限。
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
从这个应用程序中,我必须以启动应用程序的用户身份执行一些代码,但没有提升。 我怎样才能实现它?
【问题讨论】:
-
你必须实现一个方法to impersonate the current user。
-
模拟将起作用,但重新架构可能更简洁,以便应用程序无需提升即可启动,创建自身的提升副本以执行管理任务。 (如果不出意外,这意味着父进程可以在命令行上将其 PID 传递给子进程,从而避免您试图找出要模拟的进程。)
标签: c# windows windows-8 uac privilege-elevation