GetSystemMetrics-Funktion (winuser.h)

Ruft die angegebene Systemmetrik oder Systemkonfigurationseinstellung ab.

Beachten Sie, dass alle von GetSystemMetrics abgerufenen Dimensionen in Pixeln sind.

Syntax

int GetSystemMetrics(
  [in] int nIndex
);

Parameter

[in] nIndex

Typ: int

Die abzurufende Systemmetrik oder Konfigurationseinstellung. Dieser Parameter kann einen der folgenden Werte annehmen. Beachten Sie, dass alle SM_CX*-Werte Breiten und alle SM_CY*-Werte Höhen sind. Beachten Sie außerdem, dass alle Einstellungen, die zum Zurückgeben boolescher Daten konzipiert sind , TRUE als beliebiger Wert ohne Zero und FALSE als Nullwert darstellen.

Wert Bedeutung
SM_ARRANGE
56
Die Flags, die angeben, wie das System minimierte Fenster angeordnet hat. Weitere Informationen finden Sie im Abschnitt Hinweise in diesem Thema.
SM_CLEANBOOT
67
Der Wert, der angibt, wie das System gestartet wird:
  • 0 Normaler Start
  • 1 Fehlersicherer Start
  • 2 Fehlersicher beim Netzwerkstart
Ein fehlersicherer Start (auch als SafeBoot, Abgesicherter Modus oder sauberer Start bezeichnet) umgeht die Startdateien des Benutzers.
SM_CMONITORS
80
Die Anzahl der Anzeigemonitore auf einem Desktop. Weitere Informationen finden Sie im Abschnitt Hinweise in diesem Thema.
SM_CMOUSEBUTTONS
43
Die Anzahl der Schaltflächen auf einer Maus oder null, wenn keine Maus installiert ist.
SM_CONVERTIBLESLATEMODE
0x2003
Gibt den Zustand des Laptop- oder Schiefermodus an, 0 für den Schiefermodus und andernfalls ungleich 0. Wenn sich diese Systemmetrik ändert, sendet das System eine Broadcastnachricht über WM_SETTINGCHANGE mit "ConvertibleSlateMode" im LPARAM. Beachten Sie, dass diese Systemmetrik nicht für Desktop-PCs gilt. Verwenden Sie in diesem Fall GetAutoRotationState.
SM_CXBORDER
5
Die Breite eines Fensterrahmens in Pixel. Dies entspricht dem SM_CXEDGE Wert für Fenster mit dem 3D-Look.
SM_CXCURSOR
13
Die nominale Breite eines Cursors in Pixel.
SM_CXDLGFRAME
7
Dieser Wert ist mit SM_CXFIXEDFRAME identisch.
SM_CXDOUBLECLK
36
Die Breite des Rechtecks um die Position eines ersten Klicks in einer Doppelklicksequenz in Pixeln. Der zweite Klick muss innerhalb des Rechtecks erfolgen, das durch SM_CXDOUBLECLK und SM_CYDOUBLECLK definiert wird, damit das System die beiden Klicks als Doppelklick betrachten kann. Die beiden Klicks müssen auch innerhalb einer angegebenen Zeit erfolgen.

Um die Breite des Doppelklick-Rechtecks festzulegen, rufen Sie SystemParametersInfo mit SPI_SETDOUBLECLKWIDTH auf.

SM_CXDRAG
68
Die Anzahl von Pixeln auf beiden Seiten eines Mauszeigerpunkts, die der Mauszeiger verschieben kann, bevor ein Ziehvorgang beginnt. Dadurch kann der Benutzer einfach auf die Maustaste klicken und loslassen, ohne unbeabsichtigt einen Ziehvorgang zu starten. Wenn dieser Wert negativ ist, wird er von links vom Mauspunkt subtrahiert und rechts davon hinzugefügt.
SM_CXEDGE
45
Die Breite eines 3D-Rahmens in Pixel. Diese Metrik ist das 3D-Pendant von SM_CXBORDER.
SM_CXFIXEDFRAME
7
Die Stärke des Rahmens um den Umfang eines Fensters, das über eine Untertitel verfügt, aber nicht annehmbar ist, in Pixel. SM_CXFIXEDFRAME ist die Höhe des horizontalen Rahmens und SM_CYFIXEDFRAME die Breite des vertikalen Rahmens.

Dieser Wert ist mit SM_CXDLGFRAME identisch.

SM_CXFOCUSBORDER
83
Die Breite des linken und rechten Rands des Fokusrechtecks, das drawFocusRect zeichnet. Dieser Wert ist in Pixel.

Windows 2000: Dieser Wert wird nicht unterstützt.

SM_CXFRAME
32
Dieser Wert ist mit SM_CXSIZEFRAME identisch.
SM_CXFULLSCREEN
16
Die Breite des Clientbereichs für ein Vollbildfenster auf dem primären Anzeigemonitor in Pixeln. Rufen Sie die SystemParametersInfo-Funktion mit dem wert SPI_GETWORKAREA auf, um die Koordinaten des Bildschirmteils abzurufen, der nicht von der Taskleiste des Systems oder der Desktopsymbolleiste der Anwendung verdeckt wird.
SM_CXHSCROLL
21
Die Breite der Pfeil-Bitmap auf einer horizontalen Bildlaufleiste in Pixel.
SM_CXHTHUMB
10
Die Breite des Daumenfelds in einer horizontalen Bildlaufleiste in Pixel.
SM_CXICON
11
Die systemweite Breite eines Symbols in Pixel. Die LoadIcon-Funktion kann nur Symbole mit den Dimensionen laden, die SM_CXICON und SM_CYICON angeben. Weitere Informationen finden Sie unter Symbolgrößen .
SM_CXICONSPACING
38
Die Breite einer Rasterzelle für Elemente in der großen Symbolansicht in Pixeln. Jedes Element fügt sich in ein Rechteck der Größe ein, das nach SM_CYICONSPACING SM_CXICONSPACING, wenn es angeordnet ist. Dieser Wert ist immer größer oder gleich SM_CXICON.
SM_CXMAXIMIZED
61
Die Standardbreite eines maximierten Fensters der obersten Ebene auf dem primären Anzeigemonitor in Pixel.
SM_CXMAXTRACK
59
Die standardmäßige maximale Breite eines Fensters mit Untertitel und Größenrahmen in Pixel. Diese Metrik bezieht sich auf den gesamten Desktop. Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die größer als diese Dimensionen ist. Ein Fenster kann diesen Wert überschreiben, indem die WM_GETMINMAXINFO Nachricht verarbeitet wird.
SM_CXMENUCHECK
71
Die Breite der Bitmap des Standardmenüs für das Häkchen in Pixel.
SM_CXMENUSIZE
54
Die Breite der Menüleistenschaltflächen, z. B. die Schaltfläche zum Schließen des untergeordneten Fensters, die in der Benutzeroberfläche mit mehreren Dokumenten verwendet wird, in Pixeln.
SM_CXMIN
28
Die Mindestbreite eines Fensters in Pixel.
SM_CXMINIMIZED
57
Die Breite eines minimierten Fensters in Pixel.
SM_CXMINSPACING
47
Die Breite einer Rasterzelle für ein minimiertes Fenster in Pixel. Jedes minimierte Fenster fügt sich in ein Rechteck dieser Größe ein, wenn es angeordnet ist. Dieser Wert ist immer größer oder gleich SM_CXMINIMIZED.
SM_CXMINTRACK
34
Die minimale Nachverfolgungsbreite eines Fensters in Pixel. Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die kleiner als diese Dimensionen ist. Ein Fenster kann diesen Wert überschreiben, indem die WM_GETMINMAXINFO Nachricht verarbeitet wird.
SM_CXPADDEDBORDER
92
Der Umfang der Rahmenfüllung für beschriftete Fenster in Pixel.

Windows XP/2000: Dieser Wert wird nicht unterstützt.

SM_CXSCREEN
0
Die Breite des Bildschirms des primären Anzeigemonitors in Pixel. Dies ist der gleiche Wert, der beim Aufrufen von GetDeviceCaps wie folgt abgerufen wird: GetDeviceCaps( hdcPrimaryMonitor, HORZRES).
SM_CXSIZE
30
Die Breite einer Schaltfläche in einem Fenster Untertitel oder Titelleiste in Pixel.
SM_CXSIZEFRAME
32
Die Stärke des Größenrahmens um den Umfang eines Fensters, das in Pixeln geändert werden kann. SM_CXSIZEFRAME ist die Breite des horizontalen Rahmens und SM_CYSIZEFRAME die Höhe des vertikalen Rahmens.

Dieser Wert ist mit SM_CXFRAME identisch.

SM_CXSMICON
49
Die systemkleinen Breite eines Symbols in Pixel. Kleine Symbole werden in der Regel in Fensterbeschriftungen und in der kleinen Symbolansicht angezeigt. Weitere Informationen finden Sie unter Symbolgrößen .
SM_CXSMSIZE
52
Die Breite kleiner Untertitel Schaltflächen in Pixel.
SM_CXVIRTUALSCREEN
78
Die Breite des virtuellen Bildschirms in Pixel. Der virtuelle Bildschirm ist das begrenzungsgebundene Rechteck aller Anzeigemonitore. Die SM_XVIRTUALSCREEN Metrik sind die Koordinaten für die linke Seite des virtuellen Bildschirms.
SM_CXVSCROLL
2
Die Breite einer vertikalen Bildlaufleiste in Pixel.
SM_CYBORDER
6
Die Höhe eines Fensterrahmens in Pixel. Dies entspricht dem SM_CYEDGE Wert für Fenster mit dem 3D-Look.
SM_CYCAPTION
4
Die Höhe eines Untertitel Bereichs in Pixel.
SM_CYCURSOR
14
Die Nominalhöhe eines Cursors in Pixel.
SM_CYDLGFRAME
8
Dieser Wert ist mit SM_CYFIXEDFRAME identisch.
SM_CYDOUBLECLK
37
Die Höhe des Rechtecks um die Position eines ersten Klicks in einer Doppelklicksequenz in Pixeln. Der zweite Klick muss innerhalb des von SM_CXDOUBLECLK und SM_CYDOUBLECLK definierten Rechtecks erfolgen, damit das System die beiden Klicks als Doppelklick betrachten kann. Die beiden Klicks müssen auch innerhalb einer angegebenen Zeit erfolgen.

Um die Höhe des Doppelklick-Rechtecks festzulegen, rufen Sie SystemParametersInfo mit SPI_SETDOUBLECLKHEIGHT auf.

SM_CYDRAG
69
Die Anzahl der Pixel oberhalb und unterhalb eines Mauszeigerpunkts, die der Mauszeiger verschieben kann, bevor ein Ziehvorgang beginnt. Dadurch kann der Benutzer einfach auf die Maustaste klicken und loslassen, ohne unbeabsichtigt einen Ziehvorgang zu starten. Wenn dieser Wert negativ ist, wird er von oberhalb des Mauszeigepunkts subtrahiert und unterhalb hinzugefügt.
SM_CYEDGE
46
Die Höhe eines 3D-Rahmens in Pixel. Dies ist das 3D-Pendant von SM_CYBORDER.
SM_CYFIXEDFRAME
8
Die Stärke des Rahmens um den Umfang eines Fensters, das über eine Untertitel verfügt, aber nicht annehmbar ist, in Pixel. SM_CXFIXEDFRAME ist die Höhe des horizontalen Rahmens und SM_CYFIXEDFRAME die Breite des vertikalen Rahmens.

Dieser Wert ist mit SM_CYDLGFRAME identisch.

SM_CYFOCUSBORDER
84
Die Höhe der oberen und unteren Kanten des von DrawFocusRect gezeichneten Fokusrechtecks. Dieser Wert ist in Pixel.

Windows 2000: Dieser Wert wird nicht unterstützt.

SM_CYFRAME
33
Dieser Wert ist mit SM_CYSIZEFRAME identisch.
SM_CYFULLSCREEN
17
Die Höhe des Clientbereichs für ein Vollbildfenster auf dem primären Anzeigemonitor in Pixel. Rufen Sie die SystemParametersInfo-Funktion mit dem wert SPI_GETWORKAREA auf, um die Koordinaten des Teils des Bildschirms abzurufen, der nicht von der Taskleiste des Systems oder der Desktopsymbolleiste der Anwendung verdeckt wird.
SM_CYHSCROLL
3
Die Höhe einer horizontalen Bildlaufleiste in Pixel.
SM_CYICON
12
Die systemgroße Höhe eines Symbols in Pixel. Die LoadIcon-Funktion kann nur Symbole mit den Dimensionen laden, die SM_CXICON und SM_CYICON angeben. Weitere Informationen finden Sie unter Symbolgrößen .
SM_CYICONSPACING
39
Die Höhe einer Rasterzelle für Elemente in der großen Symbolansicht in Pixel. Jedes Element fügt sich in ein Rechteck der Größe ein, das nach SM_CYICONSPACING SM_CXICONSPACING, wenn es angeordnet ist. Dieser Wert ist immer größer oder gleich SM_CYICON.
SM_CYKANJIWINDOW
18
Bei Versionen mit doppeltem Bytezeichensatz des Systems ist dies die Höhe des Kanji-Fensters am unteren Bildschirmrand in Pixel.
SM_CYMAXIMIZED
62
Die Standardhöhe eines maximierten Fensters der obersten Ebene auf dem primären Anzeigemonitor in Pixel.
SM_CYMAXTRACK
60
Die standardmäßige maximale Höhe eines Fensters mit Untertitel und Größenrahmen in Pixel. Diese Metrik bezieht sich auf den gesamten Desktop. Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die größer als diese Dimensionen ist. Ein Fenster kann diesen Wert überschreiben, indem die WM_GETMINMAXINFO Nachricht verarbeitet wird.
SM_CYMENU
15
Die Höhe einer einzeiligen Menüleiste in Pixel.
SM_CYMENUCHECK
72
Die Höhe der Bitmap des Standardmenüs mit Häkchen in Pixel.
SM_CYMENUSIZE
55
Die Höhe der Menüleistenschaltflächen, z. B. die Schaltfläche zum Schließen des untergeordneten Fensters, die in der Benutzeroberfläche mit mehreren Dokumenten verwendet wird, in Pixeln.
SM_CYMIN
29
Die Mindesthöhe eines Fensters in Pixel.
SM_CYMINIMIZED
58
Die Höhe eines minimierten Fensters in Pixel.
SM_CYMINSPACING
48
Die Höhe einer Rasterzelle für ein minimiertes Fenster in Pixel. Jedes minimierte Fenster fügt sich in ein Rechteck dieser Größe ein, wenn es angeordnet ist. Dieser Wert ist immer größer oder gleich SM_CYMINIMIZED.
SM_CYMINTRACK
35
Die minimale Nachverfolgungshöhe eines Fensters in Pixel. Der Benutzer kann den Fensterrahmen nicht auf eine Größe ziehen, die kleiner als diese Dimensionen ist. Ein Fenster kann diesen Wert überschreiben, indem die WM_GETMINMAXINFO Nachricht verarbeitet wird.
SM_CYSCREEN
1
Die Bildschirmhöhe des primären Anzeigemonitors in Pixel. Dies ist der gleiche Wert, der beim Aufrufen von GetDeviceCaps wie folgt abgerufen wird: GetDeviceCaps( hdcPrimaryMonitor, VERTRES).
SM_CYSIZE
31
Die Höhe einer Schaltfläche in einem Fenster Untertitel oder Titelleiste in Pixeln.
SM_CYSIZEFRAME
33
Die Stärke des Größenrahmens um den Umfang eines Fensters, das in Pixeln geändert werden kann. SM_CXSIZEFRAME ist die Breite des horizontalen Rahmens und SM_CYSIZEFRAME die Höhe des vertikalen Rahmens.

Dieser Wert ist mit SM_CYFRAME identisch.

SM_CYSMCAPTION
51
Die Höhe eines kleinen Untertitel in Pixel.
SM_CYSMICON
50
Die systemkleinen Höhe eines Symbols in Pixel. Kleine Symbole werden in der Regel in Fensterbeschriftungen und in der kleinen Symbolansicht angezeigt. Weitere Informationen finden Sie unter Symbolgrößen .
SM_CYSMSIZE
53
Die Höhe kleiner Untertitel Schaltflächen in Pixel.
SM_CYVIRTUALSCREEN
79
Die Höhe des virtuellen Bildschirms in Pixel. Der virtuelle Bildschirm ist das begrenzungsgebundene Rechteck aller Anzeigemonitore. Die SM_YVIRTUALSCREEN Metrik sind die Koordinaten für den oberen Rand des virtuellen Bildschirms.
SM_CYVSCROLL
20
Die Höhe der Pfeil-Bitmap auf einer vertikalen Bildlaufleiste in Pixel.
SM_CYVTHUMB
9
Die Höhe des Daumenfelds in einer vertikalen Bildlaufleiste in Pixel.
SM_DBCSENABLED
42
Nonzero, wenn User32.dll DBCS unterstützt; andernfalls 0.
SM_DEBUG
22
Nonzero, wenn die Debugversion von User.exe installiert ist; andernfalls 0.
SM_DIGITIZER
94
Nonzero, wenn das aktuelle Betriebssystem Windows 7 oder Windows Server 2008 R2 ist und der Tablet PC-Eingabedienst gestartet wird; andernfalls 0. Der Rückgabewert ist eine Bitmaske, die den Typ der vom Gerät unterstützten Digitizer-Eingabe angibt. Weitere Informationen finden Sie in den Hinweisen.

Windows Server 2008, Windows Vista und Windows XP/2000: Dieser Wert wird nicht unterstützt.

SM_IMMENABLED
82
Nonzero, wenn Eingabemethoden-Manager/Eingabemethode Editor Features aktiviert sind, andernfalls 0.

SM_IMMENABLED gibt an, ob das System bereit ist, eine Unicode-basierte IME in einer Unicode-Anwendung zu verwenden. Um sicherzustellen, dass ein sprachabhängiger IME funktioniert, überprüfen Sie SM_DBCSENABLED und die System-ANSI-Codepage. Andernfalls wird die ANSI-in-Unicode-Konvertierung möglicherweise nicht ordnungsgemäß ausgeführt, oder einige Komponenten wie Schriftarten oder Registrierungseinstellungen sind nicht vorhanden.

SM_MAXIMUMTOUCHES
95
Nonzero, wenn Digitalisierer im System vorhanden sind; andernfalls 0.

SM_MAXIMUMTOUCHES gibt das aggregierte Maximum der maximalen Anzahl von Kontakten zurück, die von jedem Digitizer im System unterstützt werden. Wenn das System nur über Single-Touch-Digitizer verfügt, ist der Rückgabewert 1. Wenn das System über Multitouch-Digitizer verfügt, ist der Rückgabewert die Anzahl gleichzeitiger Kontakte, die die Hardware bereitstellen kann.

Windows Server 2008, Windows Vista und Windows XP/2000: Dieser Wert wird nicht unterstützt.

SM_MEDIACENTER
87
Nonzero, wenn das aktuelle Betriebssystem Windows XP, Media Center Edition, 0 ist, falls nicht.
SM_MENUDROPALIGNMENT
40
Nonzero, wenn Dropdownmenüs rechts am entsprechenden Menüleistenelement ausgerichtet sind; 0, wenn die Menüs linksbündig sind.
SM_MIDEASTENABLED
74
Nonzero, wenn das System für Hebräisch und Arabisch aktiviert ist, 0, falls nicht.
SM_MOUSEPRESENT
19
Nonzero, wenn eine Maus installiert ist; andernfalls 0. Dieser Wert ist selten 0, da virtuelle Mäuse unterstützt werden und weil einige Systeme das Vorhandensein des Ports anstelle einer Maus erkennen.
SM_MOUSEHORIZONTALWHEELPRESENT
91
Nonzero, wenn eine Maus mit einem horizontalen Scrollrad installiert ist; andernfalls 0.
SM_MOUSEWHEELPRESENT
75
Nonzero, wenn eine Maus mit einem vertikalen Scrollrad installiert ist; andernfalls 0.
SM_NETWORK
63
Das am wenigsten signifikante Bit wird festgelegt, wenn ein Netzwerk vorhanden ist. andernfalls wird es gelöscht. Die anderen Bits sind für die zukünftige Verwendung reserviert.
SM_PENWINDOWS
41
Nonzero, wenn die Microsoft Windows für Pen-Computingerweiterungen installiert sind; andernfalls null.
SM_REMOTECONTROL
0x2001
Diese Systemmetrik wird in einer Terminaldienste-Umgebung verwendet, um zu bestimmen, ob die aktuelle Terminalserversitzung remote gesteuert wird. Der Wert ist nonzero, wenn die aktuelle Sitzung remote gesteuert wird. andernfalls 0.

Sie können Terminaldienste-Verwaltungstools wie Terminaldienste-Manager (tsadmin.msc) und shadow.exe verwenden, um eine Remotesitzung zu steuern. Wenn eine Sitzung remote gesteuert wird, kann ein anderer Benutzer den Inhalt dieser Sitzung anzeigen und möglicherweise damit interagieren.

SM_REMOTESESSION
0x1000
Diese Systemmetrik wird in einer Terminaldiensteumgebung verwendet. Wenn der aufrufende Prozess einer Terminaldienste-Clientsitzung zugeordnet ist, ist der Rückgabewert nonzero. Wenn der aufrufende Prozess der Terminaldienste-Konsolensitzung zugeordnet ist, ist der Rückgabewert 0. Windows Server 2003 und Windows XP: Die Konsolensitzung ist nicht unbedingt die physische Konsole. Weitere Informationen finden Sie unter WTSGetActiveConsoleSessionId.
SM_SAMEDISPLAYFORMAT
81
Nonzero, wenn alle Bildschirme das gleiche Farbformat haben, andernfalls 0. Zwei Displays können die gleiche Bittiefe, aber unterschiedliche Farbformate aufweisen. Beispielsweise können die roten, grünen und blauen Pixel mit unterschiedlicher Anzahl von Bits codiert werden, oder diese Bits können sich an verschiedenen Stellen in einem Pixelfarbwert befinden.
SM_SECURE
44
Diese Systemmetrik sollte ignoriert werden. Es gibt immer 0 zurück.
SM_SERVERR2
89
Die Buildnummer, wenn das System Windows Server 2003 R2 ist; andernfalls 0.
SM_SHOWSOUNDS
70
Nonzero, wenn der Benutzer eine Anwendung zur visuellen Darstellung von Informationen in Situationen benötigt, in denen die Informationen sonst nur in hörbarer Form dargestellt würden; andernfalls 0.
SM_SHUTTINGDOWN
0x2000
Nonzero, wenn die aktuelle Sitzung heruntergefahren wird; andernfalls 0.

Windows 2000: Dieser Wert wird nicht unterstützt.

SM_SLOWMACHINE
73
Nonzero, wenn der Computer über einen (langsamen) Low-End-Prozessor verfügt; andernfalls 0.
SM_STARTER
88
Nonzero, wenn das aktuelle Betriebssystem Windows 7 Starter Edition, Windows Vista Starter oder Windows XP Starter Edition ist; andernfalls 0.
SM_SWAPBUTTON
23
Nonzero, wenn die Bedeutungen der linken und rechten Maustaste ausgetauscht werden; andernfalls 0.
SM_SYSTEMDOCKED
0x2004
Gibt den Zustand des Andockmodus an, 0 für Nicht angedockten Modus und andernfalls ungleich 0. Wenn sich diese Systemmetrik ändert, sendet das System eine Broadcastnachricht über WM_SETTINGCHANGE mit "SystemDockMode" im LPARAM.
SM_TABLETPC
86
Nonzero, wenn das aktuelle Betriebssystem die Windows XP Tablet PC Edition ist oder wenn das aktuelle Betriebssystem Windows Vista oder Windows 7 ist und der Tablet PC-Eingabedienst gestartet wird; andernfalls 0. Die Einstellung SM_DIGITIZER gibt den Typ der Digitalisierereingabe an, die von einem Gerät unter Windows 7 oder Windows Server 2008 R2 unterstützt wird. Weitere Informationen finden Sie in den Hinweisen.
SM_XVIRTUALSCREEN
76
Die Koordinaten für die linke Seite des virtuellen Bildschirms. Der virtuelle Bildschirm ist das begrenzungsgebundene Rechteck aller Anzeigemonitore. Die SM_CXVIRTUALSCREEN Metrik ist die Breite des virtuellen Bildschirms.
SM_YVIRTUALSCREEN
77
Die Koordinaten für den oberen Rand des virtuellen Bildschirms. Der virtuelle Bildschirm ist das begrenzungsgebundene Rechteck aller Anzeigemonitore. Die SM_CYVIRTUALSCREEN Metrik ist die Höhe des virtuellen Bildschirms.

Rückgabewert

Typ: int

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die angeforderte Systemmetrik oder Konfigurationseinstellung.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0. GetLastError stellt keine erweiterten Fehlerinformationen bereit.

Hinweise

Systemmetriken können von Anzeige zu Anzeige variieren.

GetSystemMetrics(SM_CMONITORS) zählt nur sichtbare Anzeigemonitore. Dies unterscheidet sich von EnumDisplayMonitors, das sowohl sichtbare Anzeigemonitore als auch unsichtbare Pseudomonitore aufzählt, die Spiegelungstreibern zugeordnet sind. Ein unsichtbarer Pseudomonitor ist einem Pseudogerät zugeordnet, das zum Spiegel der Anwendungszeichnung für Remoting- oder andere Zwecke verwendet wird.

Die einstellung SM_ARRANGE gibt an, wie das System minimierte Fenster anordnet, und besteht aus einer Startposition und einer Richtung. Die Startposition kann einer der folgenden Werte sein.

Wert Bedeutung
ARW_BOTTOMLEFT Beginnen Sie in der unteren linken Ecke des Bildschirms. Die Standardposition.
ARW_BOTTOMRIGHT Beginnen Sie in der unteren rechten Ecke des Bildschirms. Entspricht ARW_STARTRIGHT.
ARW_TOPLEFT Beginnen Sie in der oberen linken Ecke des Bildschirms. Entspricht ARW_STARTTOP.
ARW_TOPRIGHT Beginnen Sie in der oberen rechten Ecke des Bildschirms. Entspricht ARW_STARTTOP | SRW_STARTRIGHT.
 

Die Richtung, in der minimierte Fenster angeordnet werden, kann einer der folgenden Werte sein.

Wert Bedeutung
ARW_DOWN Vertikal von oben nach unten anordnen.
ARW_HIDE Blenden Sie minimierte Fenster aus, indem Sie sie aus dem sichtbaren Bereich des Bildschirms verschieben.
ARW_LEFT Horizontal anordnen, von links nach rechts.
ARW_RIGHT Horizontal anordnen, von rechts nach links.
ARW_UP Vertikal von unten nach oben anordnen.
 

Die Einstellung SM_DIGITIZER gibt den Typ der Digitizer an, die auf einem Gerät unter Windows 7 oder Windows Server 2008 R2 installiert sind. Der Rückgabewert ist eine Bitmaske, die einen oder mehrere der folgenden Werte angibt.

Wert Bedeutung
NID_INTEGRATED_TOUCH

0x01

Das Gerät verfügt über einen integrierten Touch-Digitizer.
NID_EXTERNAL_TOUCH

0x02

Das Gerät verfügt über einen externen Touch-Digitalisierer.
NID_INTEGRATED_PEN

0x04

Das Gerät verfügt über einen integrierten Stiftdigisierer.
NID_EXTERNAL_PEN

0x08

Das Gerät verfügt über einen externen Stiftdigisierer.
NID_MULTI_INPUT

0x40

Das Gerät unterstützt mehrere Quellen für Digitalisierereingaben.
NID_READY

0x80

Das Gerät ist bereit, Digitalisierereingaben zu empfangen.
 

Diese API ist nicht DPI-fähig und sollte nicht verwendet werden, wenn der aufrufende Thread pro Monitor DPI-fähig ist. Die DPI-fähige Version dieser API finden Sie unter GetSystemMetricsForDPI. Weitere Informationen zur DPI-Erkennung finden Sie in der Dokumentation zu Windows High DPI.

Beispiele

Im folgenden Beispiel wird die GetSystemMetrics-Funktion verwendet, um zu bestimmen, ob eine Maus installiert ist und ob die Maustasten ausgetauscht werden. Im Beispiel wird auch die SystemParametersInfo-Funktion verwendet, um den Mausschwellenwert und die Mausgeschwindigkeit abzurufen. Die Informationen werden in der Konsole angezeigt.

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")

void main()
{
   BOOL fResult;
   int aMouseInfo[3];
 
   fResult = GetSystemMetrics(SM_MOUSEPRESENT); 
 
   if (fResult == 0) 
      printf("No mouse installed.\n"); 
   else 
   { 
      printf("Mouse installed.\n");

      // Determine whether the buttons are swapped. 

      fResult = GetSystemMetrics(SM_SWAPBUTTON); 
 
      if (fResult == 0) 
         printf("Buttons not swapped.\n"); 
      else printf("Buttons swapped.\n");
 
      // Get the mouse speed and the threshold values. 
 
      fResult = SystemParametersInfo(
         SPI_GETMOUSE,  // get mouse information 
         0,             // not used 
         &aMouseInfo,   // holds mouse information 
         0);            // not used 

      if( fResult )
      { 
         printf("Speed: %d\n", aMouseInfo[2]); 
         printf("Threshold (x,y): %d,%d\n", 
            aMouseInfo[0], aMouseInfo[1]); 
      }
   } 
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-sysparams-ext-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

EnumDisplayMonitors

GetSystemMetricsForDPI

SystemParametersInfo