Process.Close () does not close the program

Here's a simple program:

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

      

How do I change this so that Notepad closes?

+3


source to share


2 answers


According to MSDN, it's Process.Close()

simple:

Resets all resources associated with this component.

Take a look at Process.Kill()

andProcess.CloseMainWindow()



For this application, I would use:

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

      

+5


source


Try using Process.CloseMainWindow()

instead.

Closes a process that has a user interface by sending a tag message to the main window.



Try it:

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

      

+1


source







All Articles