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

請問如何知道有個常駐程式正在執行

答題得分者是:Stallion
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-02 21:48:07 IP:123.192.xxx.xxx 訂閱
請問各位我目前需要寫一個程式去判斷VISAT MCE的預約錄影功能是否啟動,當預約錄影功能啟動時 系統會在右下角的常駐程式區出現一顆小紅球表示目前正在錄影中。所以我目前是希望可以抓到小紅球的HANDLE值 但是我用SPY 去讀HANDLE值發現 只能讀出整個常駐程式區的HANDLE值 像Caption就只顯示通知區域,無法抓到小紅球的HANDLE值 ,請問還有什麼作法或是其他建議嗎????
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-03 14:24:12 IP:75.18.xxx.xxx 未訂閱
請用 CreateToolHelp32SnapShot 搜尋本站,有不少範例。
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-05 11:44:11 IP:211.20.xxx.xxx 訂閱
你好,我參考板上的範例 現在是可以抓到我要的常駐程式,不過這個程式EHTRAY.EXE永遠出現在工作管理員上,那我目前需要知道這個執行檔有無再執行中,該怎麼判斷勒???我現在知道當啟動錄影時,EHTRAY.EXE CPU使用率會跳成1%在跳回0% 不知道可不可以從這方面下手
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-07 00:10:44 IP:61.64.xxx.xxx 訂閱
基本上,只要是 load 進記憶體的程式,都是再執行中的狀態
這是分時多工的最終目的
所以「他」一直是在執行的,即使是執行 Sleep 無限迴圈

但是若要判斷,該分時,是否屬於此程式,可以察看當時的 CPU 佔用率

至於如何判定當時 CPU 是否正在處理該程式的程式碼,我想是無解的問題 (除非你有外連設備的除錯器)

想想你用程式判斷「CPU是否再執行該程式的當下」,CPU 是在跑你的程式?還是「該程式」?
如果在跑你的程式碼,那該程式嚴格上,是屬於暫停、沒有在執行
如果在跑該程式,哪你的程式,是屬於暫停、沒有在執行,既然沒有在執行,當下就無法做判斷的動作

這樣,哪一天,可以判斷?除非,你有雙 CPU,使用各自的記憶體空間 (雙記憶體),雙匯流排,各自作各自的,互不干擾下,嚴格的去測定,才能賭定的說
我的程式運作時測到該程式「正在」執行,這根有外連設備的除錯器,是一樣的結果

看你的程式「正在」執行,要嚴格到什麼程度,不然簡單猜一下,或用 CPU 使用率(每個程式都有),晃點使用者,就可以了,使用者通常不會在乎太多(除非是關生死)


===================引 用 iii0628 文 章===================
你好,我參考板上的範例 現在是可以抓到我要的常駐程式,不過這個程式EHTRAY.EXE永遠出現在工作管理員上,那我目前需要知道這個執行檔有無再執行中,該怎麼判斷勒???我現在知道當啟動錄影時,EHTRAY.EXE CPU使用率會跳成1%在跳回0% 不知道可不可以從這方面下手
系統時間:2024-04-26 23:06:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!