Process.Close()不关闭程序

时间:2013-01-21 15:02:40

标签: c#

这是一个简单的程序:

class Program {

    static void Main(string[] args) {

        Process pr = new Process();
        ProcessStartInfo prs = new ProcessStartInfo();
        prs.FileName = @"notepad.exe";
        pr.StartInfo = prs;
        pr.EnableRaisingEvents = true;
        pr.Start();

        Thread.Sleep(2000);

        pr.Close(); //how do I change this to close notepad

        Console.WriteLine("press [enter] to exit");
        Console.ReadLine();
    }
}

如何更改此内容以便记事本关闭?

2 个答案:

答案 0 :(得分:5)

根据MSDN,Process.Close()简单地说:

  

释放与此组件关联的所有资源。

查看Process.Kill()Process.CloseMainWindow()

对于这个应用程序,我会使用:

pr.CloseMainWindow();
pr.Close();

答案 1 :(得分:1)

尝试使用Process.CloseMainWindow()方法而不是。

  

通过向主窗口发送关闭消息来关闭具有用户界面的进程。

试试这个;

Process pr = new Process();
ProcessStartInfo prs = new ProcessStartInfo();
prs.FileName = @"notepad.exe";
pr.StartInfo = prs;
pr.EnableRaisingEvents = true;
pr.Start();

Thread.Sleep(2000);

pr.CloseMainWindow();
pr.Close();

Console.WriteLine("press [enter] to exit");
Console.ReadLine();