如何在按钮单击时运行可见和关闭过程

时间:2016-06-29 13:15:39

标签: c# exe kill visible

我将另一个表单exe文件调用到我的主窗体中,但我不想显示它需要可见。然后我需要在单击按钮时关闭exe文件。

我打电话给我另一个表格exe使用代码

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Users\\server.exe";
Process.Start(startInfo);

请帮我看看它是如何运行的?

当我需要关闭我使用的exe时

Process.Kill();
  

非静态字段,方法或者需要对象引用   property' Process.Kill()'

我收到此错误。

帮助我如何打开另一个可见的exe?以及如何在按钮点击时关闭它?

2 个答案:

答案 0 :(得分:1)

回答你的第二个问题:

Kill()Process实例方法,但您尝试将其称为 static 方法。

您需要使用Process返回的Process.Start()实例,并在该实例上调用Kill()

Process myProcessInstance = Process.Start(startInfo);
//...
myProcessInstance.Kill(); 

对于第一个问题:我不完全了解您的问题?你希望窗口出现与否?它应该可见还是 可见?当你运行当前代码时会发生什么(你看到与否)?

您可以查看ProcessStartInfo.CreateNoWindowProcessStartInfo.WindowStyle属性。

如果您不想看到由* .exe创建的表单,那么您很快就会无法通过ProcessStartInfo触发。您必须使用Windows API枚举已启动进程的窗口并通过该API访问这些窗口。 Here is a starting point

如果server.exe是由您创建的,您可以考虑给它一些命令行参数,告诉它不要显示表单。

答案 1 :(得分:1)

您需要在变量中存储Process:

Process process = Process.Start(startInfo);

process.Kill();