WinGetPos

Ruft die Position und Größe eines bestimmten Fensters ab.

WinGetPos &AusX, &AusY, &AusBreite, &AusHöhe, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

&AusX, &AusY

Typ: VarRef

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie Referenzen an, die auf Ausgabevariablen verweisen, in denen die X- und Y-Koordinate der oberen linken Ecke des Zielfensters gespeichert werden sollen.

&AusBreite, &AusHöhe

Typ: VarRef

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie Referenzen an, die auf Ausgabevariablen verweisen, in denen die Breite und Höhe des Zielfensters gespeichert werden sollen.

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Typ: Zeichenkette, Integer oder Objekt

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 kann ein Fenstertitel den angegebenen FensterTitel oder AusnahmeTitel an beliebiger Stelle enthalten, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Fehlerbehandlung

Es wird ein TargetError ausgelöst, wenn das Fenster nicht gefunden werden konnte.

Bemerkungen

Wenn FensterTitel "Program Manager" ist, wird die Größe des Desktops abgerufen, was meist der aktuellen Bildschirmauflösung entspricht.

Ein minimiertes Fenster hat immer noch eine Position und Größe. Die Werte, die in diesem Fall zurückgegeben werden, können je nach Betriebssystem und Konfiguration variieren, sind aber in der Regel -32000 für die X- und Y-Koordinate und 0 für die Breite und Höhe.

Mit MouseGetPos kann der Name des Fensters und des Steuerelements unter dem Mauszeiger abgerufen werden.

Da die Koordinaten, die von dieser Funktion zurückgegeben werden, auch die Titelleiste, die Menüleiste und den Rahmen des Fensters einbeziehen, können sie je nach Version und Design des Betriebssystems variieren. Um konsistentere Werte auf verschiedenen Systemen zu erhalten, sollten Sie stattdessen WinGetClientPos verwenden.

Auf Systemen mit mehreren Bildschirmen, die unterschiedliche DPI-Einstellungen haben, kann die zurückgegebene Position und Größe aufgrund der OS-DPI-Skalierung anders ausfallen als erwartet.

WinMove, WinGetClientPos, ControlGetPos, WinGetTitle, WinGetText, ControlGetText

Beispiele

Ermittelt und meldet die Position und Größe des Taschenrechners.

WinGetPos &X, &Y, &W, &H, "Rechner"
MsgBox "Der Rechner befindet sich auf " X "," Y " und hat die Größe " W "x" H

Ermittelt und meldet die Position des aktiven Fensters.

WinGetPos &X, &Y,,, "A"
MsgBox "Das aktive Fenster befindet sich auf " X "," Y

Wenn Notepad existiert, seine Position abrufen und melden.

if WinExist("Unbenannt - Editor")
{
    WinGetPos &Xpos, &Ypos ; Verwendet das von WinExist gefundene Fenster.
    MsgBox "Notepad befindet sich auf " Xpos "," Ypos
}