線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2470
推到 Plurk!
推到 Facebook!

監控正在運行中的程式

答題得分者是:RaynorPao
eric2339
一般會員


發表:21
回覆:14
積分:7
註冊:2007-11-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-15 17:37:44 IP:59.124.xxx.xxx 訂閱
請問各位大大…

如何用一支程式來監控目前電腦正在運行中的程式,並在監測到後,再自行啟動被關掉的程式。


謝謝!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-15 18:02:38 IP:210.208.xxx.xxx 訂閱
(1)可以參考這篇文章(http://delphi.ktop.com.tw/board.php?cid=168&fid=914&tid=52970)列出系統中所有的Process及其相關資訊,就可以知道你想要監控的Process是否已經啟動,若沒有啟動,可以利用 Win32 API CreateProcess 將它啟動
(2)可是這代表要用來監控的程式本身,最好在使用者登入作業系統之後就被啟動,因此建議採用 Service 的方式來做,可以參考這篇文章(http://delphi.ktop.com.tw/board.php?cid=168&fid=923&tid=31566)把上面(1)寫好的程式,改成 Service Application
(3)另外,以上(1)(2)的作法,只能確保被監控的Process已經啟動,但不能夠確保該Process是否能夠正常運作(因為也有可能當掉),所以,更進階的作法,可以讓被監控的Process,以及監控程式 Service,兩者之間透過記憶體、檔案、Registry...等方式,週期性的交換訊息,來確保被監控的 Process 的確有正常運作;反之,若監控程式 Service 發現被監控的 Process 已經不正常運作,則可利用 Win32 API TerminateProcess 先強迫把該 Process 結束,然後再利用 (1) 的方式重新啟動該 Process
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
編輯記錄
RaynorPao 重新編輯於 2008-10-15 22:31:19, 註解 無‧
系統時間:2024-03-29 19:17:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!