c#使用process.start啟動(dòng)程序報(bào)錯(cuò)解決方法
出錯(cuò)信息:
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}
出錯(cuò)情景:
我們發(fā)現(xiàn)大多數(shù)情況下,C#調(diào)用Process.Start根本不會(huì)出錯(cuò)。這個(gè)錯(cuò)誤通常出現(xiàn)在當(dāng)你使用Local System帳號(hào)運(yùn)行程序時(shí),例如我們有一個(gè)windows服務(wù),此服務(wù)調(diào)用Process.Start創(chuàng)建新進(jìn)程時(shí),新進(jìn)程及其所有的子進(jìn)程都是以System帳號(hào)運(yùn)行的。這時(shí)調(diào)用Process.Start就有可能出現(xiàn)此錯(cuò)誤,只是有可能,其實(shí)在我們那么多機(jī)器上只有一臺(tái)運(yùn)行windows 2003的服務(wù)器出現(xiàn)了這個(gè)錯(cuò)誤。可能與系統(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實(shí)現(xiàn)日志數(shù)據(jù)批量插入
這篇文章主要介紹了巧用Dictionary實(shí)現(xiàn)日志數(shù)據(jù)批量插入,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
C#實(shí)現(xiàn)字符串倒序遍歷的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了C#中實(shí)現(xiàn)字符串倒序遍歷的常見(jiàn)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-02-02
C#使用webbrowser的常見(jiàn)用法實(shí)例
這篇文章主要介紹了C#使用webbrowser的常見(jiàn)用法,涉及C#使用webbrowser實(shí)現(xiàn)判斷網(wǎng)絡(luò)連接、模擬登陸、點(diǎn)擊等常用技巧,需要的朋友可以參考下2015-08-08

