Freigeben über


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)

Weitere Informationen