2015-11-06 24 views
1

这里就是我想实现的东西:打开CMD.EXE,然后运行我目前的控制台应用程序

  1. 比方说,我准备abc.exe(控制台应用程序)。
  2. 我想调用cmd.exe,然后通过cmd启动abc.exe。我不会在我的项目文件夹中保留cmd.exe。我将从用户机器的system32文件夹中使用它。

可能吗?

+0

所以,你要'abc.exe '启动'cmd.exe',然后让'cmd.exe'启动'abc.exe'的另一个副本? –

+0

请检查[this](http://stackoverflow.com/a/16978753/896276)回答有关详细信息 – codeRecap

+0

您可以使用'Process.Start(“cmd.exe”)' –

回答

1

正如评论中所述,您可以使用Process.Start(pathToExe)来启动一个新过程。

你可以在一个新的CMD与cmd /C start "Title" "C:\path\to\app.exe"启动程序:

string cmdPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe"); 
string exePath = System.Reflection.Assembly.GetEntryAssembly().Location; 
ProcessStartInfo newCmd = new ProcessStartInfo(cmdPath); 
newCmd.Arguments = String.Format(@"/C start ""{0}"" ""{1}""", "WindowTitle", exePath); 
Process.Start(newCmd); 

你可能需要某种形式的周围条件,以不fork炸弹自己

+0

谢谢!是的,我会照顾它的。 – Praveen

相关问题