Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击按钮时如何运行可见和关闭进程_C#_Exe_Kill_Visible - Fatal编程技术网

C# 单击按钮时如何运行可见和关闭进程

C# 单击按钮时如何运行可见和关闭进程,c#,exe,kill,visible,C#,Exe,Kill,Visible,我在主窗体中调用了另一个form exe文件,但我不想显示它,因为它需要可见。然后我需要在单击按钮时关闭exe文件 我调用我的另一个表格exe使用的代码 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "C:\\Users\\server.exe"; Process.Start(startInfo); 请告诉我它是如何运行的 当我需要关闭我使用的exe时 Process.Kill(); 非静态

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

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

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Users\\server.exe";
Process.Start(startInfo);
请告诉我它是如何运行的

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

Process.Kill();
非静态字段、方法或对象需要对象引用 属性“Process.Kill()”

我得到这个错误


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

回答第二个问题:

Kill()
过程
的一个实例方法,但您试图像静态方法一样调用它

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

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

对于你的第一个问题:我不完全理解你的问题?是否要显示该窗口?它应该是可见的还是不可见的?当您运行当前代码时,会发生什么(您是否看到它)

你可以看一看房子和房子

如果您不想看到由启动的*.exe创建的表单,不幸的是,您不能简单地通过
ProcessStartInfo
触发该表单。您必须使用Windows API枚举已启动进程的窗口,并通过该API访问这些窗口


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

回答第二个问题:

Kill()
过程
的一个实例方法,但您试图像静态方法一样调用它

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

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

对于你的第一个问题:我不完全理解你的问题?是否要显示该窗口?它应该是可见的还是不可见的?当您运行当前代码时,会发生什么(您是否看到它)

你可以看一看房子和房子

如果您不想看到由启动的*.exe创建的表单,不幸的是,您不能简单地通过
ProcessStartInfo
触发该表单。您必须使用Windows API枚举已启动进程的窗口,并通过该API访问这些窗口


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

您需要将进程存储在变量中:

Process process = Process.Start(startInfo);

process.Kill();

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

Process process = Process.Start(startInfo);

process.Kill();

如果调用Process.Start,exe将启动,如果该exe有一个窗口,窗口将可见。如果调用Process.Start,exe将启动,如果该exe有一个窗口,窗口将可见。我的第一个问题是:我不想显示我的exe文件。我想将我的exe设置为可见=false@Divi更新了答案,但这不是一件简单的事情。谢谢你的朋友的帮助。。。我通过不透明度=0%的帮助将表单隐藏起来。我的第一个问题是:我不想显示我的exe文件。我想将我的exe设置为可见=false@Divi更新了答案,但这不是一件简单的事情。谢谢你的朋友的帮助。。。我通过不透明度=0%的帮助将我的窗体隐藏起来。