2012-06-14 68 views
0

我正在編寫引用多個外部實用程序和防病毒應用程序的接口。在這種情況下,我有一個菜單,有像Malwarebytes,CCleaner,Windirstat等東西的選項。外部應用程序完成或取消後返回到菜單

我的問題是,如果你取消外部程序,我得到一個錯誤,整個界面隨着調試錯誤「操作被用戶取消」。

我需要的是主界面回來,以便我可以選擇另一個工具,如果我取消或完成。

到目前爲止,這是我的代碼的主要部分。請記住,我一直在C#編程現在所有3天:

private void ccleanerButton_Click(object sender, EventArgs e) 
{ 
    //set p as new process 
    Process p = new Process(); 
    //select the process file name 
    p.StartInfo.FileName = "ccsetup.exe"; 
    //Start things up 
    p.Start();   
} 

當我調試(在Visual Studio C#2010速成),在 「p.Start();」是突出顯示。正如你所看到的,這是簡單的過程調用。我已經遍佈谷歌,這個論壇和其他人,但我似乎沒有提出正確的問題。

+0

這是一個msdn鏈接,可能有助於:support.microsoft.com/kb/305369。 – gooch

+0

能否請您提供您收到的完整錯誤信息? –

回答

0

關閉進程的正確方法是使用CloseMainWindow如果要關閉主GUI窗口和所有子窗口,或者如果要關閉GUI的子窗口,請使用Kill

+0

謝謝你的評論,但沒有喜樂。 Tergiver - 系統發現文件很好(我將.exe導入Visual Studio)。它的啓動也很好,但是如果我取消了外部程序,整個事情就會消失。 醫生 - 我試過(他們兩個),但它仍然不會過去p.Start();線。 – Hallofo

+1

@Hallofo你爲什麼不抓住那個異常併吞下它? – Tergiver

+0

Tergiver是一個很好的觀點。以下是C#中異常處理的鏈接,以防您不熟悉它:http://msdn.microsoft.com/en-us/library/0yd65esw%28v=vs.80%29.aspx –

0

啓用心理調試器。 。 。

的Process.Start拋出一個Win32Exception與消息,「系統找不到指定文件」

解決方案:設置StartInfo.Filename到要執行的文件的完整路徑。

相關問題