c#使用process.start啟動程序報錯解決方法
出錯信息:
Unknown error (0xffffffff)
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName, String arguments)
at ProcessStart.Form1.start()
[/code}
出錯情景:
我們發(fā)現(xiàn)大多數(shù)情況下,C#調(diào)用Process.Start根本不會出錯。這個錯誤通常出現(xiàn)在當你使用Local System帳號運行程序時,例如我們有一個windows服務(wù),此服務(wù)調(diào)用Process.Start創(chuàng)建新進程時,新進程及其所有的子進程都是以System帳號運行的。這時調(diào)用Process.Start就有可能出現(xiàn)此錯誤,只是有可能,其實在我們那么多機器上只有一臺運行windows 2003的服務(wù)器出現(xiàn)了這個錯誤??赡芘c系統(tǒng)設(shè)置有關(guān),深層原因有待考察。
解決方法:
只要修改代碼,設(shè)置ProcessStartInfo的UseShellExecute=false即可
[code]
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = exepath;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
Process.Start(psi);
相關(guān)文章
巧用Dictionary實現(xiàn)日志數(shù)據(jù)批量插入
這篇文章主要介紹了巧用Dictionary實現(xiàn)日志數(shù)據(jù)批量插入,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02

