WinGetClientPos

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

WinGetClientPos &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 Clientbereichs 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 Clientbereichs 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

Der Clientbereich ist der Teil des Fensters, der Steuerelemente enthalten kann. Das ist der Bereich ohne Titelleiste, Standardmenüleiste und Rahmen. Die Position und Größe des Clientbereichs sind weniger abhängig von Version und Design des Betriebssystems als die Werte, die von WinGetPos zurückgegeben werden.

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.

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.

WinGetPos, WinMove, ControlGetPos, WinGetTitle, WinGetText, ControlGetText

Beispiele

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

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

Ermittelt und meldet die Position des Clientbereichs des aktiven Fensters.

WinGetClientPos &X, &Y,,, "A"
MsgBox "Der Clientbereich des aktiven Fensters befindet sich auf " X "," Y

Wenn Notepad vorhanden ist, ermittle und melde die Position seines Clientbereichs.

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