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 |
---|---|
|
Die Flags, die angeben, wie das System minimierte Fenster angeordnet hat. Weitere Informationen finden Sie im Abschnitt Hinweise in diesem Thema. |
|
Der Wert, der angibt, wie das System gestartet wird:
|
|
Die Anzahl der Anzeigemonitore auf einem Desktop. Weitere Informationen finden Sie im Abschnitt Hinweise in diesem Thema. |
|
Die Anzahl der Schaltflächen auf einer Maus oder null, wenn keine Maus installiert ist. |
|
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. |
|
Die Breite eines Fensterrahmens in Pixel. Dies entspricht dem SM_CXEDGE Wert für Fenster mit dem 3D-Look. |
|
Die nominale Breite eines Cursors in Pixel. |
|
Dieser Wert ist mit SM_CXFIXEDFRAME identisch. |
|
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. |
|
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. |
|
Die Breite eines 3D-Rahmens in Pixel. Diese Metrik ist das 3D-Pendant von SM_CXBORDER. |
|
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. |
|
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. |
|
Dieser Wert ist mit SM_CXSIZEFRAME identisch. |
|
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. |
|
Die Breite der Pfeil-Bitmap auf einer horizontalen Bildlaufleiste in Pixel. |
|
Die Breite des Daumenfelds in einer horizontalen Bildlaufleiste in Pixel. |
|
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 . |
|
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. |
|
Die Standardbreite eines maximierten Fensters der obersten Ebene auf dem primären Anzeigemonitor in Pixel. |
|
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. |
|
Die Breite der Bitmap des Standardmenüs für das Häkchen in Pixel. |
|
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. |
|
Die Mindestbreite eines Fensters in Pixel. |
|
Die Breite eines minimierten Fensters in Pixel. |
|
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. |
|
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. |
|
Der Umfang der Rahmenfüllung für beschriftete Fenster in Pixel.
Windows XP/2000: Dieser Wert wird nicht unterstützt. |
|
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) .
|
|
Die Breite einer Schaltfläche in einem Fenster Untertitel oder Titelleiste in Pixel. |
|
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. |
|
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 . |
|
Die Breite kleiner Untertitel Schaltflächen in Pixel. |
|
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. |
|
Die Breite einer vertikalen Bildlaufleiste in Pixel. |
|
Die Höhe eines Fensterrahmens in Pixel. Dies entspricht dem SM_CYEDGE Wert für Fenster mit dem 3D-Look. |
|
Die Höhe eines Untertitel Bereichs in Pixel. |
|
Die Nominalhöhe eines Cursors in Pixel. |
|
Dieser Wert ist mit SM_CYFIXEDFRAME identisch. |
|
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. |
|
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. |
|
Die Höhe eines 3D-Rahmens in Pixel. Dies ist das 3D-Pendant von SM_CYBORDER. |
|
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. |
|
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. |
|
Dieser Wert ist mit SM_CYSIZEFRAME identisch. |
|
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. |
|
Die Höhe einer horizontalen Bildlaufleiste in Pixel. |
|
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 . |
|
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. |
|
Bei Versionen mit doppeltem Bytezeichensatz des Systems ist dies die Höhe des Kanji-Fensters am unteren Bildschirmrand in Pixel. |
|
Die Standardhöhe eines maximierten Fensters der obersten Ebene auf dem primären Anzeigemonitor in Pixel. |
|
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. |
|
Die Höhe einer einzeiligen Menüleiste in Pixel. |
|
Die Höhe der Bitmap des Standardmenüs mit Häkchen in Pixel. |
|
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. |
|
Die Mindesthöhe eines Fensters in Pixel. |
|
Die Höhe eines minimierten Fensters in Pixel. |
|
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. |
|
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. |
|
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) .
|
|
Die Höhe einer Schaltfläche in einem Fenster Untertitel oder Titelleiste in Pixeln. |
|
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. |
|
Die Höhe eines kleinen Untertitel in Pixel. |
|
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 . |
|
Die Höhe kleiner Untertitel Schaltflächen in Pixel. |
|
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. |
|
Die Höhe der Pfeil-Bitmap auf einer vertikalen Bildlaufleiste in Pixel. |
|
Die Höhe des Daumenfelds in einer vertikalen Bildlaufleiste in Pixel. |
|
Nonzero, wenn User32.dll DBCS unterstützt; andernfalls 0. |
|
Nonzero, wenn die Debugversion von User.exe installiert ist; andernfalls 0. |
|
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. |
|
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. |
|
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. |
|
Nonzero, wenn das aktuelle Betriebssystem Windows XP, Media Center Edition, 0 ist, falls nicht. |
|
Nonzero, wenn Dropdownmenüs rechts am entsprechenden Menüleistenelement ausgerichtet sind; 0, wenn die Menüs linksbündig sind. |
|
Nonzero, wenn das System für Hebräisch und Arabisch aktiviert ist, 0, falls nicht. |
|
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. |
|
Nonzero, wenn eine Maus mit einem horizontalen Scrollrad installiert ist; andernfalls 0. |
|
Nonzero, wenn eine Maus mit einem vertikalen Scrollrad installiert ist; andernfalls 0. |
|
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. |
|
Nonzero, wenn die Microsoft Windows für Pen-Computingerweiterungen installiert sind; andernfalls null. |
|
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. |
|
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. |
|
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. |
|
Diese Systemmetrik sollte ignoriert werden. Es gibt immer 0 zurück. |
|
Die Buildnummer, wenn das System Windows Server 2003 R2 ist; andernfalls 0. |
|
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. |
|
Nonzero, wenn die aktuelle Sitzung heruntergefahren wird; andernfalls 0.
Windows 2000: Dieser Wert wird nicht unterstützt. |
|
Nonzero, wenn der Computer über einen (langsamen) Low-End-Prozessor verfügt; andernfalls 0. |
|
Nonzero, wenn das aktuelle Betriebssystem Windows 7 Starter Edition, Windows Vista Starter oder Windows XP Starter Edition ist; andernfalls 0. |
|
Nonzero, wenn die Bedeutungen der linken und rechten Maustaste ausgetauscht werden; andernfalls 0. |
|
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. |
|
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. |
|
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. |
|
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) |