Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#3

AW: DLl-Injection HWND der Hostapplikation herausfinden

  Alt 24. Jan 2011, 15:31
Delphi-Quellcode:
function getProcessWinHandle(const PID: Integer): THandle;

  function MyEnumWindowProc(AHandle: THandle; EWD: PEnumWinData): boolean; stdcall;
  var
    ProcessID: THandle;
  begin
    ProcessID := 0;
    GetWindowThreadProcessID(AHandle, ProcessID);

    if (ProcessID = EWD.ProcessID) and IsWindow(AHAndle) then
    begin
      result := true;
      if EWD.WinHandle = 0 then
        EWD.WinHandle := AHandle;
    end
    else
      result := true;
  end;

var
  EWD : pENumWinData;
begin
   new(EWD);
   EWD.WinHandle := 0;
   EWD.ProcessID := PID;

   EnumWindows(@MyEnumWindowProc, Integer(EWD));
   Result := EWD.WinHandle;
   dispose(EWD);
end;
  Mit Zitat antworten Zitat