Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: DLl-Injection HWND der Hostapplikation herausfinden
24. Jan 2011, 17:39
Probier Folgendes
Delphi-Quellcode:
function GetMainWindowHandle(): DWord;
var
V: TPoint; // X = PID, Y = Result
function GetRootWindow(hWnd: DWord): DWord;
begin
repeat
Result := hWnd;
hWnd := GetParent( Result );
until hWnd = 0;
end;
function WinEnumProc(hWnd: DWord; lParam: Integer): LongBool; stdcall;
var
PID: DWord;
begin
Result := True;
GetWindowThreadProcessId( hWnd, PID );
if PID = PPoint(lParam)^.X then
begin
PPoint(lParam)^.Y := GetRootWindow( hWnd );
Result := False;
end;
end;
begin
try
V := Point( GetCurrentProcessId(), INVALID_HANDLE_VALUE );
EnumWindows( @WinEnumProc, Integer(@V) );
Result := V.Y;
except
Result := INVALID_HANDLE_VALUE;
end;
end;
Sry für den verwirrenden Code, habs schnell dahingetippt.. Dürfte aber funktionieren!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
Geändert von Aphton (24. Jan 2011 um 17:48 Uhr)
|