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

如何由PID得到執行檔名稱?

答題得分者是:pcboy
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-17 13:52:33 IP:220.134.xxx.xxx 訂閱
想請教一下,如果我有一個PID的值,要如何得到使用這個PID的執行檔名稱?

謝謝!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-17 15:15:09 IP:61.220.xxx.xxx 訂閱
把您的 PID 和找出來的所有 PID 去比對, 就可以知道執行檔名稱

[發表] 顯示目前執行的程序(Process List) (含Source Code)
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=86821
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
編輯記錄
pcboy 重新編輯於 2007-08-17 15:17:43, 註解 無‧
shunchia63
高階會員


發表:26
回覆:141
積分:198
註冊:2007-05-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-17 15:32:19 IP:61.62.xxx.xxx 訂閱
講到PID
最近在測WatchDog AP

需找AP Handle
有兩個
CASE1: 當程式在Task時PID 可以找到Handle 如下 FindMainWindow(PID: DWORD): DWORD;



CASE2: 當程式在處理程序時時PID 可以找不到Handle,需知道AP 的ClassName 用FindWindow去找
想不出用什麼方式去找 .除了FindWindow.

Why 因為要監控AP是否當掉,然後KillProcess and Restart AP







function EnumWindowsProc(Wnd: DWORD; var EI: TEnumInfo): Bool; stdcall;
var
PID: DWORD;
begin
GetWindowThreadProcessID(Wnd, @PID);

Result := (PID <> EI.ProcessID) or
(not IsWindowVisible(WND)) or
(not IsWindowEnabled(WND));
if not result then
EI.HWND := WND;
end;

function FindMainWindow(PID: DWORD): DWORD;
var
EI: TEnumInfo;
begin
EI.ProcessID := PID;
EI.HWND := 0;
EnumWindows(@EnumWindowsProc, Integer(@EI));
Result := EI.HWND;
end;

function KillProcessByID(APID: THandle): boolean;
var
AhProcess: THandle;
begin
// The OpenProcess function returns a handle of an existing process object.
AhProcess := OpenProcess(PROCESS_ALL_ACCESS, TRUE, APID);
Result := TerminateProcess(AhProcess, 0);
end;

anyone
中階會員


發表:1
回覆:63
積分:52
註冊:2007-02-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-08-17 17:44:12 IP:59.127.xxx.xxx 未訂閱
搜尋一下舊文章都找的到
已有許多相關的資料了。
請多利用搜尋的功能
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-08-21 09:39:54 IP:220.134.xxx.xxx 訂閱
謝謝版主的回覆,已解決此問題~~
系統時間:2024-04-27 6:47:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!