delphi 获取系统当前活动窗口的句柄及对应的进程名  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 获取系统当前活动窗口的句柄及对应的进程名


// 下面的GetProcessNameById函数如下

uses TLhelp32;
function GetProcessNameById(const AID: Integer): String;
var     
h:thandle;     
f:boolean;     
lppe:tprocessentry32;
begin     
Result := '';     
h := CreateToolhelp32Snapshot(TH32cs_SnapProcess, 0);     
lppe.dwSize := sizeof(lppe);     
f := Process32First(h, lppe);     
while integer(f) <> 0 do     
begin       
if Integer(lppe.th32ProcessID) = AID then       
begin         
Result:= StrPas(lppe.szExeFile);         
break;       
end;       
f := Process32Next(h, lppe);     
end;
end;


var
  wnd: HWnd;
  title: array[0..MAX_PATH] of char;
  formH: HWND;
  dwProcessID: DWORD;
  s: string;
  menu_string: string;
  group_string: string;
begin

  formh := GetForegroundWindow;//获得当前活动窗口句柄
  GetWindowThreadProcessId(formH, dwProcessID); //通过活动窗口句柄获取对应的进程ID
  s := GetProcessNameById(dwProcessID);// GetProcessNameById函数如下

                                                                 //通过上面得到的进程ID得到对应的进程名称,这里也就得到了当前系统处于活动状态的进程名称

end;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.1003041267395 seconds