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;

相关阅读 >>

Delphi 2009 之 tcategorypanelgroup[3]: color

Delphi 读写附加数据

Delphi获取文件大小

Delphi fdmemtable1 内存表字段排序

Delphi里参数修饰符const、var、out的作用分别是什么?

Delphi inputquery

Delphi indy 组件包里的 idhttp 组件使用 get 方法下载文件限速的方法

Delphi之伪造referer下载文件

Delphi 连接dbf数据

Delphi中indy10 的idtcpserver断开客户端连接报错问题的解决办法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...