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 に答える