如何 运行 单击按钮时可见并关闭进程

How to run visible and close process when button click

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

我调用我的另一个表单 exe 使用代码

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

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

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

Process.Kill();

An object reference is required for the non-static field, method, or property 'Process.Kill()'

我收到这个错误。

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

回答你的第二个问题:

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

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

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

对于您的第一个问题:我不完全理解您的问题?您想要 window 出现吗?它应该可见还是可见?当您 运行 当前代码时发生了什么(您是否看到)?

您可以查看 ProcessStartInfo.CreateNoWindow and ProcessStartInfo.WindowStyle 属性。

如果您不想看到由您启动的 *.exe 创建的表单,不幸的是您无法通过 ProcessStartInfo 简单地触发它。您将不得不使用 Windows API 枚举已启动进程的 windows 并通过 API 访问这些 windows。 Here is a starting point.

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

您需要将您的流程存储在一个变量中:

Process process = Process.Start(startInfo);

process.Kill();