![]() |
2. Fenster finden
Hallo :hi:
Ich hab ein Problem und ich finde einfach keine Lösung :( Ich habe eine fremde Anwendung, die 2 mal gestartet ist. Nun brauche ich die Handles beider Fenster. Mit FindWindow bekommt man ja leider nur ein Handle. Wie kann ich das 2. bekommen ?? mfg idontwantaname |
Re: 2. Fenster finden
Hallo Oliver,
du könntest mit EnumWindows() arbeiten und bei jedem Fenster prüfen, ob es eines von den beiden ist, die du suchst. Grüße vom marabu |
Re: 2. Fenster finden
Okay, danke,
ich werde das mal versuchen |
Re: 2. Fenster finden
So, ich hab das jetzt versucht, nur leider will es einfach nicht funktionieren :cry:
Hier mein Code:
Delphi-Quellcode:
type
THandleArray = array of THandle; function FindAllWindows(const WindowCaption: String): THandleArray; var Res: THandleArray; function _EnumWindowProc(_hwnd: HWND; _lparam: LPARAM): Boolean; // stdcall; braucht man das ?? es geht mit und ohne nicht var Title: String; Len: Integer; begin if(_hwnd = 0) then begin Result := False; Exit; end; Len := GetWindowTextLength(_hwnd)+1; SetLength(Title, Len); GetWindowText(_hwnd, PChar(Title), Len); Title := Trim(Title); if (Title = WindowCaption) then // Hier kommt eine AV begin SetLength(Res, Length(Res)+1); Res[Length(Res)-1] := _hwnd; end; end; begin SetLength(Res, 0); EnumWindows(@_EnumWindowProc, 0); // was muss man als 2. Parameter übergeben ?? Result := Res; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz