|
<p><font face="Verdana">//进程PID取窗口句柄</font></p>
<p><font face="Verdana">function GetHwndFromProcess(ProcessId: DWORD): HWND;<br/>function _EnumWindowsProc(P_HWND: Cardinal; lParam: Cardinal): Boolean;<br/> stdcall;<br/>var<br/> PID: DWORD;<br/>begin<br/> GetWindowThreadProcessId(P_HWND, @PID);<br/> if PCardinal(lParam)^ <> PID then<br/> Result := True<br/> else<br/> begin<br/> Result := False;<br/> PCardinal(lParam + 4)^ := P_HWND;<br/> end;<br/>end;</font></p>
<p><font face="Verdana">var<br/>Buffer: array[0..1] of Cardinal;<br/>begin<br/> Result := 0;<br/> Buffer[0] := ProcessId;<br/> Buffer[1] := 0;<br/> EnumWindows(@_EnumWindowsProc, Integer(@Buffer));<br/> if Buffer[1] > 0 then Result := Buffer[1];<br/>end;<br/></font></p> |
|