如何根据一个可执行文件窗口的句柄得到这个可执行文件名称(100分)

  • 主题发起人 主题发起人 LeonSu
  • 开始时间 开始时间
L

LeonSu

Unregistered / Unconfirmed
GUEST, unregistred user!
就好象我们按下CTRL+ALT+DEL键时,从表表中可见窗口的标题,也就可以得到它们的句柄,
问题是我们该如何根据这个句柄得到它们的可执行文件的名称。包括路径最好。
 
我已经找到答案了,用下面的函数(David Jiang写的,我改了一点点)
function GetExeFileName(wh:Thandle):string;
var
p:Dword;
thh:Thandle;
lppe:tagProcessentry32;
begin
Result:='';
GetWindowThreadProcessId(wh,@p);
thh:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
lppe.dwSize:=sizeof(lppe);
Process32First(thh,lppe);
if lppe.th32ProcessID=p then
begin
result:=lppe.szExeFile;
exit;
end;
while Process32Next(thh,lppe) do
if lppe.th32ProcessID=p then
begin
result:=lppe.szExeFile;
break;
end;
end;
 
版主麻烦帮我回收分数,谢谢
 
不知道是否能回收啊!
 
没办法的,朋友,你所发出的问题,只要有人回复是不能回收的,这都怪你啊,在没有一个
人回复之前你删除这个问题就可以了。

不过我们还是感谢你的,你的贴出来的东西对我们很有用。:)[:)]

 
我也不知道是怎么回事,反正我贴出来的问题总是很少人回答,结果,每次我都自已解决
了,虽然分不算什么(我现在有2XXX分可用),但心里总觉得不是滋味,不知道问题是太
难了回答不了,还是太简单了不屑回答,有点搞不懂了。
正好你们两人进来了,我就结贴了。
HEHE!
:)
 
后退
顶部