我创建了一个用于运行命令提示符的控制台应用程序。现在我想在运行.exe文件时禁用用户访问控制权限。请解决此问题。
我必须从管理员运行此命令。我在清单中更改了requireAdministrator。但我想禁用用户访问控制权限。
这是我的代码:
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());
答案 0 :(得分:0)
如果您运行主机程序(Shift +右键单击 - >运行为)作为要运行cmd.exe的用户,它应该自动运行您在程序中启动的cmd.exe用户。
答案 1 :(得分:0)
您的应用程序无法以编程方式控制UAC行为,因为它是系统级安全功能。
您可以做什么,在您的系统上(您是管理员),是为应用程序exe创建一个提升的快捷方式,并使用它来打开应用程序并避免使用UAC对话框。
见这里:
http://www.thewindowsclub.com/create-elevated-shortcut-run-programs-bypass-uac