gpt4 book ai didi

C#如何在运行时获取管理员权限

转载 作者:行者123 更新时间:2023-12-02 00:08:02 25 4
gpt4 key购买 nike

有人知道如何在运行时获得管理员权限吗?请不要建议:

<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>

希望有人知道该怎么做。

我的意思是,例如,考虑这种情况:我有一个在没有管理员权限的情况下运行的应用程序,通常不会在您的计算机上进行任何更改。但是,如果您单击某个特定按钮,该应用程序将请求管理员权限,然后执行某些需要的操作。

最佳答案

您不能更改当前正在运行的进程的权限级别。您可以启动一个新进程,请求提升权限。 Process.Start() 支持标志“runas”。

        using (Process configTool = new Process())
{
configTool.StartInfo.FileName = "foo.exe"
configTool.StartInfo.Arguments = "--bar";
configTool.StartInfo.Verb = "runas";
configTool.Start();
configTool.WaitForExit();
}

参见 Elevating process privilege programmatically?

您可以将应用程序的功能分离到第二个可执行文件中,或者使用“runas”以提升的权限重新启动您的应用程序。

关于C#如何在运行时获取管理员权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59937561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com