SysGet

Ruft Bildschirmauflösungen, Multi-Bildschirm-Informationen, Dimensionen von Systemobjekten und andere Systemeigenschaften ab.

SysGet, AusgabeVar, Unterbefehl , Wert

Der AusgabeVar-Parameter ist der Name der Ausgabevariable, in der das Ergebnis gespeichert werden soll. Die Parameter Unterbefehl und Wert sind voneinander abhängig und können wie folgt verwendet werden.

Unterbefehle

Geben Sie für Unterbefehl Folgendes an:

MonitorCount

Ruft die Gesamtzahl der Bildschirme ab.

SysGet, AusgabeVar, MonitorCount

Im Gegensatz zu SM_CMONITORS in der unteren Tabelle erfasst dieser Unterbefehl alle Bildschirme, auch solche, die nicht zum Desktop gehören.

MonitorPrimary

Ruft die Nummer des primären Bildschirms ab.

SysGet, AusgabeVar, MonitorPrimary

In einem System mit nur einem einzigen Bildschirm wird das immer 1 sein.

Monitor

Ruft die Begrenzungskoordinaten des Bildschirms mit der Nummer N ab.

SysGet, AusgabeVar, Monitor , N

Wenn N leer ist oder weggelassen wird, wird der primäre Bildschirm verwendet. Die Informationen werden in vier Variablen gespeichert, deren Namen alle mit AusgabeVar beginnen. Wenn N zu groß ist oder die Informationen aufgrund eines Problems nicht abgerufen werden können, werden alle Variablen leer gemacht. Zum Beispiel:

SysGet, Mon2, Monitor, 2
MsgBox, Links: %Mon2Left% -- Oben: %Mon2Top% -- Rechts: %Mon2Right% -- Unten: %Mon2Bottom%.

Um einen Satz von Variablen innerhalb einer Funktion global statt lokal zu machen, deklarieren Sie Mon2 als globale Variable, bevor Sie diesen Befehl verwenden (für Assume-Global-Funktionen gilt das Gegenteil). Oft ist es auch notwendig, jede Variable in diesem Satz einzeln zu deklarieren, da ein häufiger Anlass zu Verwirrung vorliegt.

MonitorWorkArea

Ruft die Begrenzungskoordinaten des Arbeitsbereichs des Bildschirms mit der Nummer N ab.

SysGet, AusgabeVar, MonitorWorkArea , N

Wie der Monitor-Unterbefehl oben, außer dass mit "Arbeitsbereich" der Bereich ohne Taskleiste und andere registrierte Desktopsymbolleisten gemeint ist.

MonitorName

Ruft den Systemnamen des Bildschirms mit der Nummer N ab.

SysGet, AusgabeVar, MonitorName , N

Wenn N leer ist oder weggelassen wird, wird der primäre Bildschirm verwendet.

(Numerisch)

Geben Sie für Unterbefehl eine Nummer aus den unteren Tabellen an, um den entsprechenden Wert abzurufen.

SysGet, AusgabeVar, N

Zum Beispiel würde SysGet, MaustastenAnzahl, 43 die Anzahl der Maustasten in eine Variable namens MaustastenAnzahl speichern.

Häufig verwendet

Nummer Beschreibung
80 SM_CMONITORS: Anzahl der anzeigefähigen Bildschirme auf dem Desktop (also keine "nicht-anzeigefähige Pseudo-Bildschirme").
43 SM_CMOUSEBUTTONS: Anzahl der Maustasten (0, wenn keine Maus angeschlossen ist).
16, 17 SM_CXFULLSCREEN, SM_CYFULLSCREEN: Breite und Höhe des Clientbereichs eines Vollbildfensters auf dem primären anzeigefähigen Bildschirm (in Pixel).
61, 62 SM_CXMAXIMIZED, SM_CYMAXIMIZED: Breite und Höhe eines maximierten Top-Level-Fensters auf dem primären anzeigefähigen Bildschirm (in Pixel).
59, 60 SM_CXMAXTRACK, SM_CYMAXTRACK: Maximale Breite und Höhe eines Fensters mit einem Titel und Rahmen zum Ändern der Fenstergröße (in Pixel). Diese Metrik bezieht sich auf den gesamten Desktop. Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die diese Dimensionen überschreiten würden.
28, 29 SM_CXMIN, SM_CYMIN: Minimale Breite und Höhe des Fensters (in Pixel).
57, 58 SM_CXMINIMIZED, SM_CYMINIMIZED: Dimensionen eines minimierten Fensters (in Pixel).
34, 35 SM_CXMINTRACK, SM_CYMINTRACK: Minimale Breite und Höhe eines Fensters (in Pixel). Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die diese Dimensionen unterschreiten würden. Ein Fenster kann diese Werte durch Verarbeitung der WM_GETMINMAXINFO-Meldung überschreiben.
0, 1 SM_CXSCREEN, SM_CYSCREEN: Breite und Höhe des primären anzeigefähigen Bildschirms (in Pixel). Diese sind identisch mit den internen Variablen A_ScreenWidth und A_ScreenHeight.
78, 79 SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN: Breite und Höhe des virtuellen Bildschirms (in Pixel). Der virtuelle Bildschirm ist das umgebende Rechteck von allen anzeigefähigen Bildschirmen. SM_XVIRTUALSCREEN und SM_YVIRTUALSCREEN sind die Koordinaten der oberen linken Ecke des virtuellen Bildschirms.
19 SM_MOUSEPRESENT: Ungleich 0, wenn eine Maus angeschlossen ist, andernfalls 0.
75 SM_MOUSEWHEELPRESENT: Ungleich 0, wenn eine Maus mit Mausrad angeschlossen ist, andernfalls 0.
63 SM_NETWORK: Wenn ein Netzwerk vorhanden ist, wird das niederwertigste Bit gesetzt, andernfalls wird es gelöscht. Die anderen Bits sind für zukünftige Zwecke reserviert.
8193 SM_REMOTECONTROL: Diese Systemmetrik wird in einer Terminal Services-Umgebung verwendet. Ungleich 0, wenn die aktuelle Sitzung ferngesteuert wird, andernfalls 0.
4096 SM_REMOTESESSION: Diese Systemmetrik wird in einer Terminal Services-Umgebung verwendet. Wenn der aufrufende Prozess einer Terminal Services-Clientsitzung zugeordnet ist, wird ein Wert ungleich 0 zurückgegeben. Wenn der aufrufende Prozess einer Terminal Server-Konsolensitzung zugeordnet ist, wird 0 zurückgegeben. Die Konsolensitzung ist nicht unbedingt die physische Konsole.
70 SM_SHOWSOUNDS: Ungleich 0, wenn die Anwendung dem Benutzer Informationen visuell anzeigen soll, die sonst nur in akustischer Form ausgegeben werden, andernfalls 0.
8192 SM_SHUTTINGDOWN: Ungleich 0, wenn die aktuelle Sitzung heruntergefahren wird, andernfalls 0. Windows 2000: Der abgerufene Wert ist immer 0.
23 SM_SWAPBUTTON: Ungleich 0, wenn die Bedeutungen der linken und rechten Maustaste vertauscht sind, andernfalls 0.
76, 77 SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN: Koordinaten der oberen linken Ecke des virtuellen Bildschirms. Der virtuelle Bildschirm ist das umgebende Rechteck von allen anzeigefähigen Bildschirmen. SM_CXVIRTUALSCREEN und SM_CYVIRTUALSCREEN (siehe weiter oben) sind die Breite und Höhe des virtuellen Bildschirms.

Selten verwendet

Nummer Beschreibung
56 SM_ARRANGE: Flags, die angeben, wie das System minimierte Fenster anordnet. Siehe Microsoft Docs für weitere Informationen.
67

SM_CLEANBOOT: Gibt an, wie das System gestartet wurde:

  • 0 = Normaler Start
  • 1 = Abgesicherter Start
  • 2 = Abgesicherter Start mit Netzwerk
5, 6 SM_CXBORDER, SM_CYBORDER: Breite und Höhe eines Fensterrahmens (in Pixel). Entspricht dem SM_CXEDGE-Wert für Fenster im 3D-Look.
13, 14 SM_CXCURSOR, SM_CYCURSOR: Breite und Höhe eines Cursors (in Pixel). Das System kann keine Cursor in anderen Größen erstellen.
36, 37 SM_CXDOUBLECLK, SM_CYDOUBLECLK: Breite und Höhe des Rechtecks rund um die Position des ersten Klicks in einer Doppelklick-Sequenz (in Pixel). Der zweite Klick muss innerhalb dieses Rechtecks erfolgen, damit das System beide Klicks als Doppelklick erkennt. Außerdem müssen die beiden Klicks innerhalb einer bestimmten Zeitspanne erfolgen.
68, 69 SM_CXDRAG, SM_CYDRAG: Breite und Höhe des Rechtecks, zentriert auf einen Ziehpunkt, um eine begrenzte Bewegung des Mauszeigers zu ermöglichen, bevor ein Ziehvorgang startet. Diese Werte sind in Pixel. Dies ermöglicht dem Benutzer, die Maustaste zu drücken und loszulassen, ohne versehentlich einen Ziehvorgang zu starten.
45, 46 SM_CXEDGE, SM_CYEDGE: Dimensionen eines 3D-Rahmens (in Pixel). Dies sind die 3D-Äquivalente von SM_CXBORDER und SM_CYBORDER.
7, 8 SM_CXFIXEDFRAME, SM_CYFIXEDFRAME (synonym mit SM_CXDLGFRAME, SM_CYDLGFRAME): Dicke des Rahmens um ein Fenster, das eine Titelleiste hat, aber dessen Größe nicht geändert werden kann (in Pixel). SM_CXFIXEDFRAME ist die Höhe des horizontalen Rands und SM_CYFIXEDFRAME die Breite des vertikalen Rands.
83, 84 SM_CXFOCUSBORDER, SM_CYFOCUSBORDER: Höhe des oberen/unteren Rands und Breite des linken/rechten Rands des Fokusrechtecks eines Steuerelements. Windows 2000: Der abgerufene Wert ist immer 0.
21, 3 SM_CXHSCROLL, SM_CYHSCROLL: Breite der Pfeil-Bitmap eines horizontalen Scrollbalkens (in Pixel) und Höhe eines horizontalen Scrollbalkens (in Pixel).
10 SM_CXHTHUMB: Breite des Schiebereglers eines horizontalen Scrollbalkens (in Pixel).
11, 12 SM_CXICON, SM_CYICON: Standardbreite und -höhe eines Symbols (in Pixel).
38, 39 SM_CXICONSPACING, SM_CYICONSPACING: Dimensionen einer Rasterzelle für Elemente innerhalb der Große-Symbole-Ansicht (in Pixel). Jedes Element wird beim Anordnen in einem Rechteck dieser Größe platziert. Diese Werte sind immer größer gleich SM_CXICON und SM_CYICON.
71, 72 SM_CXMENUCHECK, SM_CYMENUCHECK: Dimensionen der Standard-Häkchen-Bitmap in einem Menü (in Pixel).
54, 55 SM_CXMENUSIZE, SM_CYMENUSIZE: Dimensionen von Schaltflächen in einer Menüleiste, wie z.B. die Schließen-Schaltfläche eines untergeordneten Fensters in einem Multiple Document Interface (in Pixel).
47, 48 SM_CXMINSPACING SM_CYMINSPACING: Dimensionen einer Rasterzelle für ein minimiertes Fenster (in Pixel). Jedes minimierte Fenster wird beim Anordnen in einem Rechteck dieser Größe platziert. Diese Werte sind immer größer gleich SM_CXMINIMIZED und SM_CYMINIMIZED.
30, 31 SM_CXSIZE, SM_CYSIZE: Breite und Höhe einer normalen Titelleistenschaltfläche (in Pixel).
32, 33 SM_CXSIZEFRAME, SM_CYSIZEFRAME: Dicke des Rahmens um ein Fenster, dessen Größe geändert werden kann (in Pixel). SM_CXSIZEFRAME ist die Breite des horizontalen Rands und SM_CYSIZEFRAME die Höhe des vertikalen Rands. Synonym mit SM_CXFRAME und SM_CYFRAME.
49, 50 SM_CXSMICON, SM_CYSMICON: Empfohlene Dimensionen für ein kleines Symbol (in Pixel). Kleine Symbole werden normalerweise in der Titelleiste und in der Kleine-Symbole-Ansicht angezeigt.
52, 53 SM_CXSMSIZE SM_CYSMSIZE: Dimensionen der kleinen Titelleistenschaltflächen (in Pixel).
2, 20 SM_CXVSCROLL, SM_CYVSCROLL: Breite eines vertikalen Scrollbalkens und Höhe der Pfeil-Bitmap eines vertikalen Scrollbalkens (in Pixel).
4 SM_CYCAPTION: Höhe einer Titelleiste (in Pixel).
18 SM_CYKANJIWINDOW: Höhe des Kanji-Fensters am unteren Rand des Bildschirms für Systeme mit Doppelbyte-Zeichensatz (in Pixel).
15 SM_CYMENU: Höhe einer einzeiligen Menüleiste (in Pixel).
51 SM_CYSMCAPTION: Höhe einer kleinen Titelleiste (in Pixel).
9 SM_CYVTHUMB: Höhe des Schiebereglers eines vertikalen Scrollbalkens (in Pixel).
42 SM_DBCSENABLED: Ungleich 0, wenn User32.dll Doppelbyte-Zeichensatz unterstützt, andernfalls 0.
22 SM_DEBUG: Ungleich 0, wenn die Debug-Version von User.exe installiert ist, andernfalls 0.
82

SM_IMMENABLED: Ungleich 0, wenn Input Method Manager-/Input Method Editor-Features aktiviert sind, andernfalls 0.

SM_IMMENABLED gibt an, ob das System bereit ist, einen Unicode-basierten IME auf eine Unicode-Anwendung anzuwenden. Um sicherzustellen, dass ein sprachabhängiger IME ordnungsgemäß funktioniert, überprüfen Sie SM_DBCSENABLED und die ANSI-Codepage des Systems. Andernfalls könnte es sein, dass die ANSI-zu-Unicode-Konvertierung nicht korrekt durchgeführt wurde oder dass einige Komponenten wie Schriften oder Registry-Einstellungen nicht vorhanden sind.

87 SM_MEDIACENTER: Ungleich 0, wenn Windows XP Media Center Edition das aktuelle Betriebssystem ist, andernfalls 0.
40 SM_MENUDROPALIGNMENT: Ungleich 0, wenn Dropdown-Menüs rechtsbündig mit dem zugehörigen Menüleistenpunkt ausgerichtet sind, andernfalls 0.
74 SM_MIDEASTENABLED: Ungleich 0, wenn im System die Sprachunterstützung für Hebräisch und Arabisch aktiviert ist, andernfalls 0.
41 SM_PENWINDOWS: Ungleich 0, wenn die Microsoft Windows for Pen Computing-Erweiterungen installiert sind, andernfalls 0.
44 SM_SECURE: Ungleich 0, wenn Sicherheitsfunktionen eingeschaltet sind, andernfalls 0.
81 SM_SAMEDISPLAYFORMAT: Ungleich 0, wenn alle anzeigefähigen Bildschirme das gleiche Farbformat haben, andernfalls 0. Beachten Sie, dass zwei Bildschirme mit gleicher Farbtiefe unterschiedliche Farbformate haben können. Zum Beispiel ist es möglich, dass die roten, grünen und blauen Pixel mit einer unterschiedlichen Anzahl von Bits kodiert sind oder dass solche Bits an verschiedenen Stellen im Farbwert eines Pixels liegen.
86 SM_TABLETPC: Ungleich 0, wenn Windows XP Tablet PC Edition das aktuelle Betriebssystem ist, andernfalls 0.

Bemerkungen

Die internen Variablen A_ScreenWidth und A_ScreenHeight enthalten die Breite und Höhe des primären Bildschirms (in Pixel).

DllCall(), WinGet

Beispiele

Ruft die Anzahl der Maustasten ab und speichert den Wert in MaustastenAnzahl.

SysGet, MaustastenAnzahl, 43

Ruft die Breite und Höhe des virtuellen Bildschirms ab und speichert die Werte in BildschirmVirtuelleBreite und BildschirmVirtuelleHöhe.

SysGet, BildschirmVirtuelleBreite, 78
SysGet, BildschirmVirtuelleHöhe, 79

Zeigt Informationen über jeden Bildschirm an.

SysGet, BildschirmAnzahl, MonitorCount
SysGet, BildschirmPrimär, MonitorPrimary
MsgBox, Bildschirmanzahl:`t%BildschirmAnzahl%`nPrimärer Bildschirm:`t%BildschirmPrimär%
Loop, %BildschirmAnzahl%
{
    SysGet, BildschirmName, MonitorName, %A_Index%
    SysGet, Bildschirm, Monitor, %A_Index%
    SysGet, BildschirmAB, MonitorWorkArea, %A_Index%
    MsgBox, Bildschirm:`t#%A_Index%`nName:`t%BildschirmName%`nLinks:`t%BildschirmLeft% (%BildschirmABLeft% AB)`nOben:`t%BildschirmTop% (%BildschirmABTop% AB)`nRechts:`t%BildschirmRight% (%BildschirmABRight% AB)`nUnten:`t%BildschirmBottom% (%BildschirmABBottom% AB)
}