我将另一个表单exe文件调用到我的主窗体中,但我不想显示它需要可见。然后我需要在单击按钮时关闭exe文件。
我打电话给我另一个表格exe使用代码
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Users\\server.exe";
Process.Start(startInfo);
请帮我看看它是如何运行的?
当我需要关闭我使用的exe时
Process.Kill();
非静态字段,方法或者需要对象引用 property' Process.Kill()'
我收到此错误。
帮助我如何打开另一个可见的exe?以及如何在按钮点击时关闭它?
答案 0 :(得分:1)
回答你的第二个问题:
Kill()
是Process
的实例方法,但您尝试将其称为 static 方法。
您需要使用Process
返回的Process.Start()
实例,并在该实例上调用Kill()
:
Process myProcessInstance = Process.Start(startInfo);
//...
myProcessInstance.Kill();
对于第一个问题:我不完全了解您的问题?你希望窗口出现与否?它应该可见还是 可见?当你运行当前代码时会发生什么(你看到与否)?
您可以查看ProcessStartInfo.CreateNoWindow
和ProcessStartInfo.WindowStyle
属性。
如果您不想看到由* .exe创建的表单,那么您很快就会无法通过ProcessStartInfo
触发。您必须使用Windows API枚举已启动进程的窗口并通过该API访问这些窗口。 Here is a starting point
如果server.exe
是由您创建的,您可以考虑给它一些命令行参数,告诉它不要显示表单。
答案 1 :(得分:1)
您需要在变量中存储Process:
Process process = Process.Start(startInfo);
process.Kill();