我有以下代碼:System.Diagnostics.Process:找不到指定的模塊。 (0x8007007E)
// 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
,它工作正常。爲什麼在使用代碼啓動進程時出現此錯誤,而不是從命令行啓動?
如果是UserShellExecute,那麼我不能重定向標準輸出。我能做些什麼? –
然後嘗試指定具有擴展名的完整路徑和文件名。例如「C:\ Windows \ System32 \ W32tm.exe」 – Fischermaen
這也是我試過,仍然是同樣的錯誤彈出。 –