2010-06-15 69 views
0

我將從我的C#應用​​程序獲取命令提示符以編譯一些C++文件。代碼就是這樣。保持命令提示符,直到用戶從關閉按鈕關閉它

private void button1_Click(object sender, EventArgs e) 
    { 

     string filePath = @"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.exe"; 
     System.Diagnostics.Process.Start(filePath); 
    } 

但我點擊按鈕後,它突然來了,消失。即使它打開兩個命令提示符。我需要保留它,只有一個命令提示符應該出現。有人能給我提供必要的代碼嗎?謝謝。

回答

1

最簡單的方法很可能會像這樣:

ProcessStartInfo psi = new ProcessStartInfo 
{ 
    FileName = "cmd", 
    Arguments = @"/k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.exe""" 
}; 
Process.Start(psi); 
0

您可以編寫自己的命令提示符程序,充當容器並運行所需的EXE文件。運行後,它可以使用「cin」(c輸入)等待按鍵,這將停止關閉。

+0

感謝支持。你可以給一些示例代碼,所以我可以清楚。 – Kasun 2010-06-15 13:13:28

0

您並未打開命令提示符,因此您只是啓動了一個命令行應用程序,該應用程序可以打開,無關並且關閉。 如果要打開命令提示符,可以撥打System.Diagnostics.Process.Start("cmd");

3

你也可以這樣做:

Process.Start("cmd /k cl.exe"); 

這將啓動cmd.exe,運行指定的命令,並保持它的完成後打開窗口。

<command> 

到:

+1

這將拋出一個'Win32Exception',因爲它會將完整的字符串解釋爲文件名,並且無法找到該文件。 – 2010-06-15 13:23:33

2

你可以命令從改變

cmd /k <command> 

這將導致要運行的命令,然後窗口將留在命令提示符打開。