Freigeben über


KEYBDINPUT-Struktur (winuser.h)

Enthält Informationen zu einem simulierten Tastaturereignis.

Syntax

typedef struct tagKEYBDINPUT {
  WORD      wVk;
  WORD      wScan;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

Elemente

wVk

Typ: WORD

Ein virtueller Schlüsselcode. Der Code muss ein Wert im Bereich 1 bis 254 sein. Wenn das dwFlags-ElementKEYEVENTF_UNICODE angibt, muss wVk 0 sein.

wScan

Typ: WORD

Ein Hardwarescancode für den Schlüssel. Wenn dwFlagsKEYEVENTF_UNICODE angibt, gibt wScan ein Unicode-Zeichen an, das an die Vordergrundanwendung gesendet werden soll.

dwFlags

Art: DWORD

Gibt verschiedene Aspekte eines Tastenanschlags an. Dieses Element kann bestimmte Kombinationen der folgenden Werte sein.

Wert Bedeutung
KEYEVENTF_EXTENDEDKEY
0x0001
Wenn angegeben, besteht der wScan-Scancode aus einer Sequenz von zwei Byte, wobei das erste Byte einen Wert von 0xE0 hat. Weitere Informationen finden Sie unterExtended-Key Flag .
KEYEVENTF_KEYUP
0x0002
Wenn angegeben, wird der Schlüssel losgelassen. Wenn nicht angegeben, wird die Taste gedrückt.
KEYEVENTF_SCANCODE
0x0008
Wenn angegeben, identifiziert wScan den Schlüssel, und wVk wird ignoriert.
KEYEVENTF_UNICODE
0x0004
Wenn angegeben, synthetisiert das System einen VK_PACKET Tastenanschlag. Der wVk-Parameter muss null sein. Diese Kennzeichnung kann nur mit der KEYEVENTF_KEYUP-Kennzeichnung kombiniert werden. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

time

Art: DWORD

Der Zeitstempel für das Ereignis in Millisekunden. Wenn dieser Parameter null ist, stellt das System einen eigenen Zeitstempel bereit.

dwExtraInfo

Typ: ULONG_PTR

Ein zusätzlicher Wert, der dem Tastenanschlag zugeordnet ist. Verwenden Sie die GetMessageExtraInfo-Funktion , um diese Informationen abzurufen.

Bemerkungen

INPUT_KEYBOARD unterstützt Eingabemethoden, z. B. handschriftliche Erkennung oder Spracherkennung, als ob es sich um Texteingaben mit der KEYEVENTF_UNICODE-Kennzeichnung handelte. Wenn KEYEVENTF_UNICODE angegeben ist, sendet SendInput eine WM_KEYDOWN oder WM_KEYUP Nachricht an die Nachrichtenwarteschlange des Vordergrundthreads mit wParam gleich VK_PACKET. Sobald GetMessage oder PeekMessage diese Nachricht abruft, übergibt die Nachricht an TranslateMessage eine WM_CHAR Nachricht mit dem unicode-Zeichen, das ursprünglich von wScan angegeben wurde. Dieses Unicode-Zeichen wird automatisch in den entsprechenden ANSI-Wert konvertiert, wenn es in ein ANSI-Fenster gepostet wird.

Legen Sie die KEYEVENTF_SCANCODE-Kennzeichnung fest, um die Tastatureingabe im Hinblick auf den Scancode zu definieren. Dies ist nützlich, um einen physischen Tastenanschlag zu simulieren, unabhängig davon, welche Tastatur derzeit verwendet wird. Sie können auch das KEYEVENTF_EXTENDEDKEY-Flag übergeben, wenn der Scancode ein erweiterter Schlüssel ist. Der Wert der virtuellen Taste einer Taste kann sich je nach aktuellem Tastaturlayout ändern oder welche anderen Tasten gedrückt wurden, aber der Scancode ist immer identisch.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 2000 Professional [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows 2000 Server [nur Desktop-Apps]
Header winuser.h (enthalten Windows.h)

Siehe auch