我有一個c#win窗體程序,當我點擊一個按鈕後,它啓動一個windows應用程序,然後當我完成後,我想關閉應用程序並返回到我的勝利表單。當我關閉已啓動的應用程序時,我的勝利形式似乎總是被推到後面,我不得不尋找它。有任何想法嗎?從c#中的cmd.exe返回後使窗體活動?
var process1 = new System.Diagnostics.Process();
process1.EnableRaisingEvents = false;
var leftPath = @"c:\codereview\" + curDateTime + @"\left\";
var rightPath = @"c:\codereview\" + curDateTime + @"\right\";
var execPath = @"c:\program files\winmerge\winmergeu.exe";
var strCmdLine = "/C " + '"' + execPath + '"' + " /r " + leftPath + " " + rightPath;
System.Diagnostics.Process.Start("CMD.exe", strCmdLine);
process1.Close();
呃,string.Format是慢:請參閱http://blogs.msdn.com/ricom/archive/2004/03/12/88715.aspx。 (這是一個恥辱,我更喜歡它出於各種原因。) – 2009-12-18 17:08:50
@Jeremy:對於時間消耗幾乎是一樣的事情,至於內存使用情況,string.Format更好。 – serhio 2009-12-18 18:25:10
''a「+ b +」c「+ d'將被編譯器重寫爲'string.Concat(」a「,b,」c「,d)',這會導致一次分配。而且Rico在他的博客文章中表示,string.Format在內存消耗和速度方面都更差。 – Joey 2009-12-18 19:14:23