我正在运行一个用 C# 编码的程序,它使用以下代码运行一些命令:
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
startInfo.FileName = "C:\\Program Files\\Microvirt\\EmuManager.exe";
startInfo.Arguments = "guestproperty enumerate Emu";
process.StartInfo = startInfo;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return output;
由于我的应用程序以管理员权限运行,因此当我运行上面的代码时,它使用管理员权限,但是,由于某种原因,如果以管理员权限运行, EmuManager.exe将不起作用。
因此,我需要一种方法来在没有管理员权限的情况下从以管理员权限运行的 C# 应用程序运行该命令并获取其输出。