运行带参数的EXE文件

35

我需要帮助,在我的C#应用程序中尝试执行一个可执行文件。

假设路径为cPath,EXE文件为HHTCtrlp.exe,要传递的参数为cParams

我该怎么做?

路径是变量的原因是有3个不同的EXE文件需要运行,并且路径将根据要运行的文件而更改,参数字符串也是如此。

非常感谢任何帮助。

3个回答

75

使用以下代码可以带参数开始进程:

string filename = Path.Combine(cPath,"HHTCtrlp.exe");
var proc = System.Diagnostics.Process.Start(filename, cParams);
为了再次关闭/退出程序,你可以使用以下代码:

exit(0);

proc.CloseMainWindow(); 
proc.Close();

@stephen - 哇,它起作用了。现在有没有一种方法可以杀死或退出那个程序(HHTCtrlp.exe),就好像点击了退出按钮一样? - Privesh
4
Process proc = Process.Start(filename, cParams); /*...*/ proc.CloseMainWindow(); proc.Close(); 可翻译为: 使用指定的文件名和参数启动进程: Process proc = Process.Start(filename, cParams); /*...*/ 尝试关闭进程的主窗口,如果无法成功关闭则不会抛出异常: proc.CloseMainWindow(); 释放进程使用的所有系统资源,终止进程本身: proc.Close(); - Stephan Bauer
cParams的定义在哪里? - user4266998
2
在问题中的@Dari: "而且必须传递的参数是cParams。" ;-) - Stephan Bauer

21
System.Diagnostics.Process.Start("PATH to exe", "Command Line Arguments");

10
ProcessStartInfo startInfo = new ProcessStartInfo(string.Concat(cPath, "\\", "HHTCtrlp.exe"));
startInfo.Arguments =cParams;
startInfo.UseShellExecute = false; 
System.Diagnostics.Process.Start(startInfo);

3
这是一个仅包含代码的答案,请尝试在您的回答中添加一些解释。 - Hamid Pourjam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接