当我从命令提示符运行dism /Online /Disable-Feature:Microsoft-Hyper-V-All
命令时,它工作正常。
但我想用C#代码做同样的事情。它不起作用,Process存在错误代码11.
Process proc = new Process();
proc.StartInfo.FileName = "dism.exe";
proc.StartInfo.Arguments = "/Online /Disable-Feature:Microsoft-Hyper-V-All";
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.Verb = "runas";
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
基本上我想从C#代码(使用UAC)运行给定的命令,因为它与命令提示符一起使用。
答案 0 :(得分:1)
你不能。也就是说,作为程序员,您无法决定您的代码是否以管理权限运行。但是,您可以通知用户您的代码需要管理权限,然后要求获得这些权限。怎么做covered here。
答案 1 :(得分:1)
试试这个方法,
您想要修改嵌入程序中的清单。这适用于Visual Studio 2008及更高版本:Project + Add New Item,选择" Application Manifest File"。将元素更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />