GetWindow Unterschiede FMX und VCL
mit dem Code (Quelle: https://www.swissdelphicenter.ch/en/showcode.php?id=327 kann ein Fenster über seinen Namen gesucht werden , ging unter VCL prima.
Unter FMX kann die Zeile
Delphi-Quellcode:
nicht mehr kompiliert werden, wie Lautet die Lösung .... auch UNIX fähig dann ?
GetWindow(Application.Handle, GW_HWNDFIRST);
Delphi-Quellcode:
function FindWindowByTitle(WindowTitle: string): Hwnd;
var NextHandle: Hwnd; NextTitle: array[0..260] of char; begin // Get the first window NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST); while NextHandle > 0 do begin // retrieve its text GetWindowText(NextHandle, NextTitle, 255); if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then begin Result := NextHandle; Exit; end else // Get the next window NextHandle := GetWindow(NextHandle, GW_HWNDNEXT); end; Result := 0; end; |
AW: GetWindow Unterschiede FMX und VCL
Application.Handle ist das interne unsichtbare "ControlFenster", welches man in Windows benötigt, um zentral globale SystemMessages empfangen zu können.
Und mit der WinAPI (HWND, GetWindow, ...) kann man natürlich nur im Windows arbeiten. Linux nutzt mit X Window ein System über TCP, drum lassen sich da auch Programmfenster über die Console problemlos auf anderen Systemen anzeigen. https://youtu.be/-vX90aEWurg?t=495 OK, da im Windows als Grundgerüst alle Fenster auch über die WinAPI aufgebaut werden müssen, auf deren Canvas dann FMX sich malt, könnte man hier auch über GDI diese Fester finden. Willst du nur "eigene" Fesnter finden? Screen.Forms ... muß mal schauen, aber ich denk mal das gibt es auch im FMX. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz