以下のコードを使用していくつかのコマンドを実行する 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# アプリケーションから管理者権限なしでそのコマンドを実行し、その出力を取得する方法が必要です。