2012-07-13 127 views
-1

我有第三方軟件包。其文件夾包含要運行的.exe文件以及運行該應用程序所需的其他一些文件。當我手動打開應用程序時,它工作正常,但是當我嘗試通過Process.Start()打開相同的應用程序時,出現「應用程序已停止工作」錯誤。通過Process.Start()打開時出現「應用程序停止工作」接收錯誤

應用程序需要.NET 4.0框架才能執行,所以我必須安裝它。 C#代碼我試圖運行它是基於.NET 3.5和使用Visual Studio 2008

+1

顯示您用於創建您的過程的代碼。 – 2012-07-13 18:09:01

+2

嘗試檢查Windows事件日誌並查看它是否給出錯誤日誌記錄 – Phil 2012-07-13 18:09:30

+2

也許您正在使用錯誤的當前目錄。沒有看到代碼我們就看不出來。 – 2012-07-13 18:10:35

回答

2

你可以嘗試以下方法創建:

var path = @"C:\Temp\test.exe"; 
    FileInfo fi = new FileInfo(path); 

    ProcessStartInfo info = new ProcessStartInfo(path); 
    info.WorkingDirectory = fi.DirectoryName; 

    Process process = new Process(); 
    process.StartInfo = info; 

    process.Start(); 

如果這不起作用,嘗試

Directory.SetCurrentDirectory(fi.DirectoryName); 

直接前process.Start();

不要忘了之後重置當前目錄! 之前保存CurrentDirectory與

var currentDirectory = Directory.GetCurrentDirectory(); 
+0

這件事情非常感謝芽。有什麼方法可以在後臺與第三方軟件進行通信以發送和接收計算的數據等? – Karthik 2012-07-15 04:04:35

相關問題