需要外掛一個程序,用於監控另一個程序運行狀態,一旦檢測到另一程序關閉,就觸發一個事件做其他處理。
引用的類
1
|
using System.Diagnostics;
//引入Process 類
|
聲明
1
|
private
Process[] MyProcesses;
|
主要處理部分,該段代碼可放在定時器中循環檢測監控的程序是否啟動
1
2
3
4
5
6
7
8
9
10
11
|
MyProcesses = Process.GetProcessesByName(
"SajetManager"
);
//需要監控的程序名,該方法帶出該程序所有用到的進程
foreach (Process myprocess in MyProcesses)
{
textBox1.Text += myprocess.ProcessName +
"\r\n"
;
if
(myprocess.ProcessName.ToLower() ==
"sajetmanager"
)
{
MessageBox.Show(
"SajetManager"
);
myprocess.EnableRaisingEvents =
true
;
//設置進程終止時觸發的時間
myprocess.Exited +=
new
EventHandler(myprocess_Exited);
//發現外部程序關閉即觸發方法myprocess_Exited
}
}
|
1
2
3
4
|
private
void
myprocess_Exited(object sender, EventArgs e)
//被觸發的程序
{
MessageBox.Show(
"SajetManager close"
);
}
|