Hi Leute,
gibt es eine Art Platzhalter bei der Handle-Suche für ein fremdes Fenster?
Ich suche beispielsweise ein Fenster mit dem Titel:
"Programm name" -9-stellige Nummer - "Zusatz"....
gibt es nun eine Möglichkeit der Funktion mitzuteilen, dass nach Programm name 9 unbekannte ziffern folgen und dann wieder das Wort "Zusatz" folgt?
Das Problem ist, dass ich nicht einfach nur nach "Programm name" oder nach "Zusatz" suchen kann, da es nicht eindeutig ist und es mehr Fenster mit diesem Titel gibt... ich muss über die dynamisch generierte 9-stellige Nummer gehen
Die Funktion:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| function FindWindowByTitle(WindowTitle: string): Hwnd; var NextHandle: Hwnd; NextTitle: array[0..260] of char; begin NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST); while NextHandle > 0 do begin GetWindowText(NextHandle, NextTitle, 255); if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then begin Result := NextHandle; Exit; end else NextHandle := GetWindow(NextHandle, GW_HWNDNEXT); end; Result := 0; end; |
Der Aufruf:
Delphi-Quelltext
1: 2: 3: 4:
| h := FindWindowByTitle('??????????????????????????'); Application.ProcessMessages; if h <> 0 then showmessage('gefunden') else showmessage('NICHT gefunden'); |
thx 4 hints!
Moderiert von
Narses: Delphi-Tags hinzugefügt