次のコードがあります。
// Creating procesStartInfo obj
System.Diagnostics.ProcessStartInfo procStartInfo
= new System.Diagnostics.ProcessStartInfo();
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
//Window state hidden .. so black windows will come inbetween
procStartInfo.WindowStyle
= System.Diagnostics.ProcessWindowStyle.Hidden;
// Creating Process obj to run the net time cmd
System.Diagnostics.Process p;
string output;
p = new System.Diagnostics.Process();
p.StartInfo = procStartInfo;
p.StartInfo.FileName = "w32tm";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.Arguments = " /resync /computer:xxxxx977";
p.Start();
p.WaitForExit();
output = p.StandardOutput.ReadLine().ToString();
MessageBox.Show(output);
このコードを実行すると、次のエラー メッセージが表示されます。
次のエラーが発生しました: 指定されたモジュールが見つかりませんでした。(0x8007007E)。
コマンドをリモートまたはローカルで実行すると、正常に動作しますw32tm /resync /computer:xxxxx977
。コマンドラインからではなく、コードでプロセスを開始するとこのエラーが発生するのはなぜですか?