知道視窗控制代碼如何知道檔名

2022-04-14 21:32:45 字數 1805 閱讀 9061

知道視窗控制代碼如何知道檔名? delphi / windows sdk/api

知道視窗控制代碼,怎麼得到該程式的檔名???

先通過getwindowthreadprocessid取得視窗所屬程序的pid,再通過列舉系統程序,得到該程序的檔名。列舉程序可以通過系統快照:createtoolhelp32snapshot,   process32first,   process32next等api來進行。

詳細點啊

uses   tlhelp32;  

function   crngetexefilefromwindow(hwin:   hwnd):   string;  

var  

dwpid:   dword;  

strexepath:   string;  

ptoolhelp:   thandle;  

pe:   tprocessentry32;  

me:   tmoduleentry32;  

bok:   bool;  

begin  

getwindowthreadprocessid(hwin,   @dwpid);  

//   建立系統快照  

ptoolhelp   :=   createtoolhelp32snapshot(th32cs_snapall,   dwpid);  

//   獲取可執行檔案的路徑  

if   win32platform   <>   ver_platform_win32_nt   then   //   win9x  

begin  

zeromemory(@pe,   sizeof(pe));  

pe.dwsize   :=   sizeof(pe);  

bok   :=   process32first(ptoolhelp,   pe);  

while(bok)   do  

begin  

if   pe.th32processid   =   dwpid   then  

begin  

strexepath   :=   pe.szexefile;  

break;  

end;  

bok   :=   process32next(ptoolhelp,   pe);  

end;  

end  

else   //   winnt  

begin  

zeromemory(@me,   sizeof(me));  

me.dwsize   :=   sizeof(me);  

module32first(ptoolhelp,   me);  

strexepath   :=   me.szexepath;  

end;  

closehandle(ptoolhelp);  

result   :=   strexepath;  

end;  

procedure   tform1.button1click(sender:   tobject);  

var  

hwin:   thandle;  

begin  

//   這裡替換成你要查詢的視窗控制代碼就可以了,我隨便指定了乙個值。  

hwin   :=   thandle($008c0302);    

showmessage(crngetexefilefromwindow(hwin));  

end;

謝謝

已知程序控制代碼,如何知道此程序的主視窗控制代碼

已知程序控制代碼,如何知道此程序的主視窗控制代碼,在此說明兩種方法 1.呼叫findwindow 前提是必須知道該程序中視窗類名和視窗名,返回後的控制代碼可以通過iswindow 函式來驗證是否是有效的視窗控制代碼.hwnd hwnd findwindow szclassname,szwndname...

拿檔名 如何批量修改檔名

在工作和生活中,我們經常需要將許多檔案命名為固定格式,如果需要重新命名的檔案數量龐大,那重新命名將會變成一件非常枯燥繁瑣費時的工作,今天在這裡分享乙個批量修改檔名的 希望對大家有所幫助,就算是數百個檔名,也就幾秒鐘完事。先貼上 文字框內下滑可以複製完整內容哦 address r d 中銀國際實習 r...

如何迅速匯出檔名

關於匯出檔名,從網上搜了搜,找了這麼幾個方法,試了下都還不錯。方法一 假定資料夾是 d abcd 開啟命令列 在 執行 中輸入cmd回車 再輸入 d 回車,再輸入 cd abcd 回車就進入了該資料夾,再輸入 tree a.txt 回車,開啟a.txt檔案你看到了什麼?生成的目錄是按 樹 狀選單的形...