出錯信息:
出錯情景:
我們發現大多數情況下,C#調用Process.Start根本不會出錯。這個錯誤通常出現在當你使用Local System帳號運行程序時,例如我們有一個windows服務,此服務調用Process.Start創建新進程時,新進程及其所有的子進程都是以System帳號運行的。這時調用Process.Start就有可能出現此錯誤,只是有可能,其實在我們那么多機器上只有一臺運行windows 2003的服務器出現了這個錯誤。可能與系統設置有關,深層原因有待考察。
解決方法:
只要修改代碼,設置ProcessStartInfo的UseShellExecute=false即可
[code]
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = exepath;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
Process.Start(psi);
新聞熱點
疑難解答