3

这是一个简单的程序:

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();
    }
}

如何更改此设置以便记事本关闭?

4

2 回答 2

5

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

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

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

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

pr.CloseMainWindow();
pr.Close();
于 2013-01-21T15:04:13.267 回答
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();
于 2013-01-21T15:05:49.580 回答