ControlSetText

Ändert den Text eines Steuerelements.

ControlSetText , Steuerelement, NeuerText, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

Steuerelement

Wenn leer oder weggelassen, wird das oberste Steuerelement des Zielfensters verwendet. Andernfalls geben Sie entweder die ClassNN-Bezeichnung (Klassenname und Instanznummer des Steuerelements) oder den Text des Steuerelements an, die beide mit dem internen Tool "Window Spy" ermittelt werden können. Wenn Text verwendet wird, ist das Übereinstimmungsverhalten abhängig von SetTitleMatchMode.

Um mit dem Fensterhandle (HWND) eines Steuerelements zu arbeiten, lassen Sie den Steuerelement-Parameter leer und übergeben Sie ahk_id %StrlmntHwnd% als FensterTitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Die HWND-Nummer eines Steuerelements kann üblicherweise via ControlGet Hwnd, MouseGetPos oder DllCall() abgerufen werden.

NeuerText

Wenn leer oder weggelassen, wird das Steuerelement leer gemacht. Andernfalls geben Sie den neuen Text an, der in das Steuerelement eingefügt werden soll.

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

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 (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

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 und 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.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.

Bemerkungen

Die meisten Steuerelemente markieren das Ende einer Zeile mit einem CR-LF-Paar (`r`n) anstelle eines einzelnen LF-Zeichens (`n). Um die `n-Zeichen eines Textblocks mit `r`n zu ersetzen, gehen Sie wie folgt vor:

StringReplace, MeineVar, MeineVar, `n, `r`n, All

Um die Zuverlässigkeit zu erhöhen, erfolgt jedes Mal, nachdem dieser Befehl ausgeführt wurde, automatisch eine Verzögerung. Diese Verzögerung kann via SetControlDelay geändert werden.

SetControlDelay, ControlGetFocus, ControlGetText, ControlGet, Control, ControlMove, ControlGetPos, ControlClick, ControlFocus, ControlSend

Beispiele

Ändert den Text im Notepad-Eingabefeld. Dieses Beispiel kann unter Windows 11 oder höher fehlschlagen, da es die klassische Version von Notepad erfordert.

ControlSetText, Edit1, Neuer Text, Unbenannt -

Ändert den Text im Eingabefeld des Hauptfensters.

#Persistent
ListVars
WinWaitActive, ahk_class AutoHotkey
ControlSetText, Edit1, Neuer Text ; Verwendet das oben gefundene Fenster.