首页 > 解决方案 > 如何在方法调用上请求 UAC 管理员权限

问题描述

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

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

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

我尝试在Process.Start()带有 的可执行文件上使用 a 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 类,但没有调用我想要的提示。

标签: c#processpermissionsadminuac

解决方案


推荐阅读