Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |