知道視窗控制代碼如何知道檔名? 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檔案你看到了什麼?生成的目錄是按 樹 狀選單的形...