Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fensterhandle des aktiven Formular's (nicht systemweit) (https://www.delphipraxis.net/120942-fensterhandle-des-aktiven-formulars-nicht-systemweit.html)

Xeres 19. Sep 2008 09:09


Fensterhandle des aktiven Formular's (nicht systemweit)
 
Hallo,

nachdem ich etliche Threads rund um dieses Thema gefunden habe, aber doch kein passendes, muss ich nun nachhacken.

Folgende Problemstellung:
Ich muss in meiner Applikation feststellen können, welche Formular bzw. welches Fensterhandle momentan "aktiv" (bzw. im Vordergrund) ist.
Hierfür gibt es ja so nette Funktionen wie GetForegroundWindow. Allerdings habe ich nun das Problem, dass mein Programm auch im Hintergrund liegen kann.

Meine erste Idee war dann, dass ich evtl. versuche über GetCurrentThreadId mit meiner ThreadID auf das aktuell "aktive" Fenster zu kommen. Nur weiß ich nicht wie.


Hat jemand ne Idee, wie man aufgrund einer ThreadID das "aktive" Fenster ermitteln kann oder wie ich dies anderweitig lösen könnte?



Vielen Dank schonmal

toms 19. Sep 2008 09:18

Re: Fensterhandle des aktiven Formular's (nicht systemweit)
 
Hallo,

Mit Screen.ActiveForm kannst du feststellen, welches Formular der Anwendung den Eingabefokus hat. Wenn die Anwendung nicht aktiv ist, bezeichnet ActiveForm das Formular, das bei der nächsten Aktivierung den Fokus erhält.

Xeres 19. Sep 2008 09:29

Re: Fensterhandle des aktiven Formular's (nicht systemweit)
 
Wow das ging ja schnell und funktioniert zudem auch noch wie gewollt.

Vielen Dank toms!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 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