keybd_event-Funktion (winuser.h)
Synthetisiert einen Tastaturanschlag. Das System kann einen solchen synthetisierten Tastaturanschlag verwenden, um eine WM_KEYUP- oder WM_KEYDOWN-Meldung zu generieren. Der Interrupthandler des Tastaturtreibers ruft die keybd_event-Funktion auf.
Syntax
void keybd_event(
[in] BYTE bVk,
[in] BYTE bScan,
[in] DWORD dwFlags,
[in] ULONG_PTR dwExtraInfo
);
Parameter
[in] bVk
Typ: BYTE
Ein Virtueller Schlüsselcode. Der Code muss ein Wert im Bereich 1 bis 254 sein. Eine vollständige Liste finden Sie unter Virtuelle Schlüsselcodes.
[in] bScan
Typ: BYTE
Ein Hardwarescancode für den Schlüssel.
[in] dwFlags
Art: DWORD
Steuert verschiedene Aspekte des Funktionsbetriebs. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.
[in] dwExtraInfo
Typ: ULONG_PTR
Ein zusätzlicher Wert, der dem Tastenstrich zugeordnet ist.
Rückgabewert
Keine
Bemerkungen
Eine Anwendung kann einen Druck der PRINTSCRN-Taste simulieren, um einen Bildschirm Momentaufnahme abzurufen und in der Zwischenablage zu speichern. Rufen Sie hierzu keybd_event auf, wobei der bVk-Parameter auf VK_SNAPSHOT festgelegt ist.
Beispiele
Das folgende Beispielprogramm schaltet die NUM LOCK-Leuchte mithilfe von keybd_event mit einem virtuellen Schlüssel von VK_NUMLOCK um. Es wird ein boolescher Wert benötigt, der angibt, ob das Licht ausgeschaltet (FALSE) oder ein (TRUE) sein soll. Das gleiche Verfahren kann für die CAPS-LOCK-Taste (VK_CAPITAL) und die SCROLL LOCK-TASTE (VK_SCROLL) verwendet werden.
#include <windows.h>
void SetNumLock( BOOL bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}
void main()
{
SetNumLock( TRUE );
}
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 (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |