delphi通过进程ID获取主窗句柄


本文整理自网络,侵删。

 delphi通过进程ID获取主窗句柄 

function GetHwndFromProcess(const hPID: THandle): THandle;
type
PEnumInfo = ^TEnumInfo;
TEnumInfo = record
ProcessID: DWORD;
HWND: THandle;
end;
function EnumWindowsProc(Wnd: DWORD; var EI: TEnumInfo): Bool; stdcall;
var
PID: DWORD;
begin
GetWindowThreadProcessID(Wnd, @PID);
Result := (PID <> EI.ProcessID) or
(not IsWindowVisible(WND)) or
(not IsWindowEnabled(WND));
if not Result then EI.HWND := WND;
end;
function FindMainWindow(PID: DWORD): DWORD;
var
EI: TEnumInfo;
begin
EI.ProcessID := PID;
EI.HWND := 0;
EnumWindows(@EnumWindowsProc, Integer(@EI));
Result := EI.HWND;
end;
begin
if hPID <> 0 then
Result := FindMainWindow(hPID)
else
Result:=0;
end;


相关阅读 >>

Delphi 字符串是否包含

Delphi 判断操作系统是否是64位的函数

Delphi二值图像腐蚀算法

Delphi xe7 android通过配置实现splash功能

Delphi windowsapi: muldiv

Delphi 读文件到十六进制的函数(Delphi 7 下可用)

Delphi通过将数据放入exe的资源信息中的方式制作自已的安装工具

Delphi 取得当前运行窗口的标题

Delphi 判断文件是否被占用

Delphi xe ioutils tpath(结构体) 的方法与属性

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



打赏

取消

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

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

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

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

评论

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