WinMove

Verändert die Position und/oder Größe eines bestimmten Fensters.

WinMove, X, Y
WinMove, Fenstertitel, Fenstertext, X, Y , Breite, Höhe, Titelausnahme, Textausnahme

Parameter

X, Y

Die X/Y-Koordinaten (in Pixel) der oberen linken Ecke der neuen Position des Zielfensters, die Ausdrücke sein können. Das obere linke Pixel des Bildschirms ist bei 0, 0.

Sind das die einzigen Parameter, wird das Zuletzt Gefundene Fenster als Zielfenster verwendet.

Ansonsten kann X und/oder Y weggelassen werden, um die aktuelle Position zu verwenden.

Fenstertitel

Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie auf der Seite Fenstertitel-Parameter & Zuletzt Gefundenes Fenster. Siehe auch die bekannte Einschränkung weiter unten.

Fenstertext

Eine Zeichenkette, die in einem der Textelemente des Zielfensters enthalten ist (eventuell vorhandene Textelemente können mit dem internen Tool Window Spy aufgedeckt werden). Versteckte Textelemente werden nur erkannt, wenn DetectHiddenText eingeschaltet ist. Siehe auch die bekannte Einschränkung weiter unten.

Breite, Höhe

Die neue Breite und Höhe des Fensters (in Pixel), die Ausdrücke sein können. Wenn einer dieser Parameter fehlt, leer ist oder das Wort DEFAULT ist, bleibt die Größe in dieser Abmessung unverändert.

Titelausnahme

Ignoriert Fenster, deren Titel diesen Wert enthalten.

Textausnahme

Ignoriert Fenster, deren Textelemente diesen Wert enthalten.

Bemerkungen

Beim Verringern (oder Negieren) der Breite und Höhe können viele Fenster in der Regel nicht kleiner als 112 x 27 Pixel gemacht werden (allerdings haben einige Fensterarten unterschiedliche Mindestgrößen). Beim Erhöhen der Breite und Höhe können viele Fenster nicht größer als ungefähr 12 Pixel über den Abmessungen des Desktops gemacht werden.

Negative Werte sind als X/Y-Koordinaten erlaubt, um Multi-Anzeigegerät-Systeme zu unterstützen und Fenster über den Bildschirmrand hinaus verschieben zu können.

WinMove kann minimierte Fenster nicht verschieben, aber es kann versteckte Fenster verschieben, sofern DetectHiddenWindows eingeschaltet ist.

Die Geschwindigkeit von WinMove wird von SetWinDelay beeinflusst.

Fenstertitel und -texte unterscheiden zwischen Groß- und Kleinschreibung. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.

Bekannte Einschränkung: Enthält Fenstertitel oder Fenstertext (, [ oder {, aber nicht das schließende Gegenstück, wie z. B. WinMove, KEDIT - [, wird der Parameter automatisch als Ausdruck interpretiert, was zu einer Fehlermeldung führt. Um das zu verhindern, können Sie stattdessen ein Prozentzeichen davor setzen, um eine direkt geschriebene Zeichenkette zu erzwingen, wie z. B. WinMove, % "KEDIT - [".

Siehe auch

ControlMove, WinGetPos, WinHide, WinMinimize, WinMaximize, WinSet

Beispiel

Run, calc.exe
WinWait, Rechner
WinMove, 0, 0 ; Verschiebt das gefundene Fenster von WinWait in die obere linke Ecke des Bildschirms.

SplashTextOn, 400, 300, Zwischenablage, Die Zwischenablage enthält:`n%clipboard%
WinMove, Zwischenablage, , 0, 0 ; Verschiebt das Splash-Fenster in die linke obere Ecke.
MsgBox, Drücken Sie OK, um das Splash-Fenster zu schließen
SplashTextOff

; Die folgende Funktion zentriert ein bestimmtes Fenster auf dem Bildschirm:
ZentriereFenster(Fenstertitel)
{
    WinGetPos,,, Breite, Höhe, %Fenstertitel%
    WinMove, %Fenstertitel%,, (A_ScreenWidth/2)-(Breite/2), (A_ScreenHeight/2)-(Höhe/2)
}