16,747
社区成员




function GetHWndByPID(const hPID: THandle): THandle;
var
PID: DWORD;
hWnd: THandle;
Capt: array[0..255] of Char;
begin
Result := 0;
if hPID = 0 then Exit;
hWnd := FindWindow(nil, nil);
while (hWnd <> 0) do
begin
if (GetWindowText(hWnd, Capt, 255) <> 0) and
IsWindowVisible(hWnd) and // (not IsIconic(WND)) //这里的条件根据需要来调整。
IsWindowEnabled(hWnd) then
begin
GetWindowThreadProcessID(hWnd, @PID);
if (PID = hPID) then
begin
Result := hWnd;
Exit;
end;
end;
hWnd := GetWindow(hWnd, GW_HWNDNEXT);
end;
end;