WinMove

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

WinMove, X, Y
WinMove, FensterTitel, FensterText, X, Y , Breite, Höhe, IgnoriereTitel, IgnoriereText

Parameter

X, Y

Die X- und Y-Koordinate (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 unter FensterTitel-Parameter. 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 eine dieser Abmessungen weggelassen wird, leer ist oder das Wort DEFAULT ist, wird die Größe in Bezug auf diese Abmessung nicht verändert.

IgnoriereTitel

Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.

IgnoriereText

Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.

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- und Y-Koordinate erlaubt, um Multi-Bildschirm-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 sind Groß-/Kleinschreibung-sensitiv. 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 - [".

ControlMove, WinGetPos, WinHide, WinMinimize, WinMaximize, WinSet

Beispiele

Öffnet den Taschenrechner, wartet, bis er existiert, und verschiebt ihn in die obere linke Ecke des Bildschirms.

Run, calc.exe
WinWait, Rechner
WinMove, 0, 0 ; Verwendet das von WinWait gefundene Fenster.

Erstellt ein Popup-Fenster mit fester Größe, das den Inhalt der Zwischenablage anzeigt, und verschiebt es in die obere linke Ecke des Bildschirms.

SplashTextOn, 400, 300, Zwischenablage, Die Zwischenablage enthält:`n%Clipboard%
WinMove, Zwischenablage,, 0, 0
MsgBox, Drücken Sie OK, um das Splash-Fenster zu schließen
SplashTextOff

Zentriert ein Fenster auf dem Bildschirm.

ZentriereFenster("ahk_class Notepad")

ZentriereFenster(FensterTitel)
{
    WinGetPos,,, Breite, Höhe, %FensterTitel%
    WinMove, %FensterTitel%,, (A_ScreenWidth/2)-(Breite/2), (A_ScreenHeight/2)-(Höhe/2)
}