2012-07-21 102 views
1

我試圖從c#代碼啓動應用程序。下面是代碼..但該exe文件提供了錯誤「應用程序遇到問題,需要關閉,對不便帶來的不便」。Process.Start()無法打開exe

我將命令傳遞值

command = "\"C:\\Program Files\\Nimbuzz\\Nimbuzz.exe\""; 

代碼:

private int ExecuteSystemCommand(string command) 
{ 
    procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command); 
    procStartInfo.RedirectStandardOutput = true; 
    procStartInfo.UseShellExecute = false; 
    procStartInfo.CreateNoWindow = false; 
    proc = new System.Diagnostics.Process(); 
    proc.StartInfo = procStartInfo; 
    proc.Start(); 

    return proc.Id; 
} 

但是從桌面快捷方式打開時,該exe正常打開。我不知道什麼是錯的。請建議。

+0

您是否嘗試過將'command'傳遞給構造函數而不是'cmd/c'? – 2012-07-21 10:37:59

+2

爲什麼你需要'cmd.exe'間接調用exe而不是直接啓動exe? – 2012-07-21 10:50:51

+1

由於各種原因程序崩潰,它肯定與您的C#代碼無關。按照從快捷方式完成的方式執行它,從而最大限度地減少出現問題的機率。不要重定向輸出並設置ProcessStartInfo.WorkingDirectory屬性。如果沒有幫助,請與計劃負責人聯繫以尋求支持。 – 2012-07-21 12:02:45

回答

1

好吧,我剛剛發現,我需要設置工作目錄首先調用Process.Start()

Directory.SetCurrentDirectory("C:\\Program Files\\Nimbuzz\\");