2010-06-15 45 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> 

这将导致要运行的命令,然后窗口将留在命令提示符打开。