GetKeyboardState-Funktion (winuser.h)
Kopiert die Status der 256 virtuellen Tasten in den angegebenen Puffer
Syntax
BOOL GetKeyboardState(
[out] PBYTE lpKeyState
);
Parameter
[out] lpKeyState
Typ: PBYTE
Das 256-Byte-Array, das die status Daten für jeden virtuellen Schlüssel empfängt.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Eine Anwendung kann diese Funktion aufrufen, um die aktuelle status aller virtuellen Schlüssel abzurufen. Die status änderungen, wenn ein Thread Tastaturnachrichten aus der Nachrichtenwarteschlange entfernt. Die status ändert sich nicht, wenn Tastaturnachrichten an die Nachrichtenwarteschlange des Threads gesendet werden, noch ändert sie sich, wenn Tastaturnachrichten in Nachrichtenwarteschlangen anderer Threads gepostet oder aus diesen abgerufen werden. (Ausnahme: Threads, die über AttachThreadInput verbunden sind, verwenden denselben Tastaturzustand.)
Wenn die Funktion zurückgibt, enthält jedes Element des Arrays, auf das der lpKeyState-Parameter verweist, status Daten für einen virtuellen Schlüssel. Wenn das Bit mit hoher Ordnung 1 ist, ist der Schlüssel ausgefallen. andernfalls ist es soweit. Wenn es sich bei der Taste um eine Umschalttaste handelt, z. B. die CAPS-TASTE, ist das Bit mit niedriger Reihenfolge 1, wenn der Schlüssel umgeschaltet ist, und ist 0, wenn die Taste umgeschaltet ist. Das Bit mit niedriger Ordnung ist für Nicht-Umschalttasten bedeutungslos. Eine Umschalttaste soll beim Einschalten umgeschaltet werden. Die Led einer Umschalttaste (sofern vorhanden) auf der Tastatur wird eingeschaltet, wenn die Taste umgeschaltet ist, und wenn die Taste ausgeschaltet ist.
Verwenden Sie die GetKeyState-Funktion, um status Informationen für einen einzelnen Schlüssel abzurufen. Verwenden Sie die GetAsyncKeyState-Funktion , um den aktuellen Zustand für eine einzelne Taste abzurufen, unabhängig davon, ob die entsprechende Tastaturnachricht aus der Nachrichtenwarteschlange abgerufen wurde.
Eine Anwendung kann die Virtuellen Schlüsselcodekonstanten VK_SHIFT, VK_CONTROL und VK_MENU als Indizes in das Array verwenden, auf das lpKeyState verweist. Dadurch erhalten Sie die status der UMSCHALT-, STRG- oder ALT-TASTE, ohne zwischen links und rechts zu unterscheiden. Eine Anwendung kann auch die folgenden Virtuellen Schlüsselcodekonstanten als Indizes verwenden, um zwischen den linken und rechten Instanzen dieser Schlüssel zu unterscheiden:
VK_LSHIFT |
VK_RSHIFT |
VK_LCONTROL |
VK_RCONTROL |
VK_LMENU |
VK_RMENU |
Diese Links- und Rechtsunterscheidungskonstanten sind für eine Anwendung nur über die Funktionen GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState und MapVirtualKey verfügbar.
Anforderungen
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-rawinput-l1-1-0 (eingeführt in Windows 10, Version 10.0.14393) |