本文整理自网络,侵删。
// 下面的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里参数修饰符const、var、out的作用分别是什么?
Delphi indy 组件包里的 idhttp 组件使用 get 方法下载文件限速的方法
Delphi中indy10 的idtcpserver断开客户端连接报错问题的解决办法
更多相关阅读请进入《Delphi》频道 >>