Ermittelt, welches Steuerelement im Zielfenster den Tastaturfokus hat, sofern vorhanden.
ControlGetFocus, AusgabeVar , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Name der Ausgabevariable, in der die ClassNN des Steuerelements gespeichert werden soll.
Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. Andernfalls geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (wie von Window Spy angezeigt).
AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.
Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Standardmäßig werden versteckte Fenster nicht erkannt und versteckte Textelemente erkannt, was mit DetectHiddenWindows bzw. DetectHiddenText geändert werden kann. Standardmäßig muss ein Fenstertitel mit dem angegebenen FensterTitel oder AusnahmeTitel beginnen, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.
[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.
ErrorLevel wird auf 0 gesetzt, wenn das Steuerelement mit dem Tastaturfokus erfolgreich abgerufen werden konnte. Andernfalls (z.B. wenn das Fenster nicht existiert oder keines der darin enthaltenen Steuerelemente den Tastaturfokus hat) wird ErrorLevel auf 1 gesetzt.
Dieser Befehl ist für die Verwendung mit Steuerelementen in einem Nicht-GUI-Fenster vorgesehen, also einem Fenster, das nicht mit dem Gui-Befehl erstellt wurde. Er funktioniert am besten mit den gängigen oder vordefinierten Steuerelementen von Microsoft. Einige Anwendungen verwenden jedoch benutzerdefinierte oder modifizierte Steuerelemente – in diesem Fall funktioniert der Befehl möglicherweise nicht wie erwartet. Für GUI-Steuerelemente ist es in der Regel sinnvoller, GuiControlGet Focus oder in [v1.0.43.06+] GuiControlGet FocusV zu verwenden.
Das mit diesem Befehl abgerufene Steuerelement hat den Tastaturfokus, d.h. das Steuerelement ist das Ziel aller Tastendrücke des Benutzers.
Das Zielfenster muss aktiv sein, um ein fokussiertes Steuerelement zu haben. Wenn das Zielfenster nicht aktiv ist, wird AusgabeVar leer gemacht.
Vor [v1.1.19.03] war es so, dass wenn ControlGetFocus mehrmals schnell ausgeführt wurde (also alle 500 ms oder schneller), der Benutzer keinen Doppelklick machen konnte. Dieses Problem wurde behoben.
ControlFocus, GuiControlGet Focus, GuiControlGet FocusV, ControlMove, ControlClick, ControlGetText, ControlSetText, ControlSend
Meldet die ClassNN des Notepad-Steuerelements, das den Tastaturfokus hat.
WinActivate, ahk_class Notepad
ControlGetFocus, AusgabeVar, ahk_class Notepad
if ErrorLevel
MsgBox, Das Zielfenster existiert nicht oder hat kein fokussiertes Steuerelement.
else
MsgBox, Steuerelement mit Fokus = %AusgabeVar%