在Windows
>本指南说明了如何在Windows中编程提升过程特权,这是运行特权任务(例如使用InstallUtil.exe
安装服务)的必要步骤。 我们将探讨两种方法:使用runas
动词并嵌入应用程序清单。
>对象的Verb
属性。 设置ProcessStartInfo
>“ runas”提示用户帐户控制(UAC)对话框,请求用户许可以提升过程。这类似于右键单击可执行文件并选择“作为管理员运行”。Verb
>
但是,如果要避免重复的UAC提示,尤其是在长期运行过程中,则可以提升整个主机过程。 这是通过创建并包括指定
这是使用highestAvailable
动词来提升的方法:
>设置runas
<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath); startInfo.UseShellExecute = true; startInfo.Verb = "runas"; System.Diagnostics.Process.Start(startInfo);</code>
可确保该过程以升高的权限运行,但要获得UAC批准。 使用应用程序清单的替代方案需要更多的设置,但避免了重复的UAC交互。
以上是如何通过编程性提升Windows的流程特权?的详细内容。更多信息请关注PHP中文网其他相关文章!