如何处理System.Diagnostics.Process.start?

时间:2015-08-05 08:49:21

标签: c#

我通过

打开了一个资源管理器实例
System.Diagnostics.Process.Start("explorer.exe", @<path>); 

但是,我也希望在给定时间关闭这个确切的过程。

到目前为止我试过这个:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.Start("explorer.exe", @<path>);

然而,这似乎根本不起作用。当我以这种方式尝试时,这就是我所得到的:

  

&#34;会员&#39;&#39;无法使用实例引用访问;使用类型名称来限定它&#34;

我很确定这是非常简单的事情,但我无法解决这个问题......

任何帮助?

3 个答案:

答案 0 :(得分:4)

System.Diagnostics.Process.Start返回Process

var proc = System.Diagnostics.Process.Start("explorer.exe", @<path>); 
proc.Kill();

答案 1 :(得分:3)

使用Process创建ProcessStartInfo

ProcessStartInfo psi = new ProcessStartInfo("explorer.exe", @"C:\some.file");
Process p = Process.Start(psi);

///

p.Kill();

根据需要调用Kill进程。

答案 2 :(得分:1)

您遇到的问题是方法Process.Start()static方法,并且不需要调用Process类的实例。

正如其他人所说,Start()会返回一个Process对象,然后您可以使用该对象,稍后可以在某个时刻调用Kill()