|
分類:[C#]
よろしくお願いします
使用言語はC#です。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i<= ps.Length-1 ; i++) { if (ps[i].MainWindowTitle != string.Empty) { Console.WriteLine("ウィンドウタイトル:" + ps[i].MainWindowTitle); Console.WriteLine("起動時間:" + ps[i].StartTime); } try { ps[i].EnableRaisingEvents = true; ps[i].SynchronizingObject = this; ps[i].Exited += new EventHandler(p_Exited);
if(ps[i].MainWindowTitle != string.Empty) { Console.WriteLine("ウィンドウタイトル: " + ps[i].MainWindowTitle); Console.WriteLine("終了時間:" + ps[i].ExitTime); } }
現在このようにしてウィンドウのタスクバー上に表示されるプロセスのタイトルを取得し、プロセスが終了したときに同じようにウィンドウのタイトルを表示しようとしました。
起動時のプロセスは取得できるのですが、終了時のプロセスが取得できません。
プロセスを全取得して、比較して終了したプロセスを判断すると終了時刻が取れないように思えるので、プロセスが終了するたびにイベントハンドらにとばすようにしたいです。ご存知の方がいましたよろしくお願いします。
|