C# 以编程方式禁用用户访问控制以在控制台应用程序中运行命令
我为运行命令提示符创建了一个控制台应用程序。现在我想在运行.exe文件时禁用用户访问控制权限。请解决这个问题 我必须从管理员处运行此命令。我在舱单中更改了requireAdministrator。但是我想禁用用户访问控制权限 这是我的密码:C# 以编程方式禁用用户访问控制以在控制台应用程序中运行命令,c#,console-application,C#,Console Application,我为运行命令提示符创建了一个控制台应用程序。现在我想在运行.exe文件时禁用用户访问控制权限。请解决这个问题 我必须从管理员处运行此命令。我在舱单中更改了requireAdministrator。但是我想禁用用户访问控制权限 这是我的密码: Process cmd = new Process(); cmd.StartInfo.FileName = "cmd.exe"; cmd.StartInfo.WorkingDirectory = @"C:\W
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.WorkingDirectory = @"C:\Windows\System32";
cmd.StartInfo.Verb = "runas";
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());
如果您以希望运行cmd.exe的用户的身份运行宿主程序Shift+右键单击->运行,它将自动以同一用户的身份运行您在程序中启动的cmd.exe。您的应用程序无法以编程方式控制UAC行为,因为这是系统级安全功能 在您作为管理员的系统上,您可以做的是创建应用程序exe的提升快捷方式,并使用该快捷方式打开应用程序,避免出现UAC对话框 请看这里:
你不能禁用UAC。如果你能,每个人都会,那么UAC就没用了。