如何在方法调用中请求UAC管理员权限

时间:2019-02-19 11:58:47

标签: c# process permissions admin uac

我想在按下按钮时寻求本地管理员的权限。

我打算弹出一个UAC提示来询问。

我不想让程序仅以管理员身份运行,所以我不希望添加应用程序清单。

我尝试在具有Process.Start()的可执行文件上使用Verb = "runas",这会弹出UAC提示,但最终运行了该应用程序的另一个副本。

private void button1_Click(object sender, EventArgs e)
{ 
    ProcessStartInfo startInfo = new ProcessStartInfo
    {
        FileName = Application.ExecutablePath,
        Verb = "runas"
    };
    Process.Start(startInfo);
    if(//permission granted)
    {
        //code
    }
    else
    {
        MessageBox.Show("Permission not granted");
    }
}

我也尝试使用PrincipalPermissions类,但没有调用我想要的提示。

0 个答案:

没有答案