Struttura KEYBDINPUT (winuser.h)

Contiene informazioni su un evento di tastiera simulato.

Sintassi

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

Members

wVk

Tipo: WORD

Codice di chiave virtuale. Il codice deve essere un valore nell'intervallo da 1 a 254. Se il membro dwFlags specifica KEYEVENTF_UNICODE, wVk deve essere 0.

wScan

Tipo: WORD

Codice di analisi hardware per la chiave. Se dwFlags specifica KEYEVENTF_UNICODE, wScan specifica un carattere Unicode da inviare all'applicazione in primo piano.

dwFlags

Tipo: DWORD

Specifica vari aspetti di una sequenza di tasti. Questo membro può essere determinate combinazioni dei valori seguenti.

Valore Significato
KEYEVENTF_EXTENDEDKEY
0x0001
Se specificato, il codice di analisi wScan è costituito da una sequenza di due byte, in cui il primo byte ha un valore di 0xE0. Per altre informazioni, vedere Flag chiave estesa .
KEYEVENTF_KEYUP
0x0002
Se specificato, la chiave viene rilasciata. Se non specificato, il tasto viene premuto.
KEYEVENTF_SCANCODE
0x0008
Se specificato, wScan identifica la chiave e wVk viene ignorata.
KEYEVENTF_UNICODE
0x0004
Se specificato, il sistema sintetizza una sequenza di tasti VK_PACKET . Il parametro wVk deve essere zero. Questo flag può essere combinato solo con il flag di KEYEVENTF_KEYUP . Per altre informazioni, vedere la sezione Osservazioni.

time

Tipo: DWORD

Timestamp per l'evento, in millisecondi. Se questo parametro è zero, il sistema fornirà il proprio timestamp.

dwExtraInfo

Tipo: ULONG_PTR

Valore aggiuntivo associato alla sequenza di tasti. Usare la funzione GetMessageExtraInfo per ottenere queste informazioni.

Commenti

INPUT_KEYBOARD supporta metodi nonkeyboard-input, ad esempio il riconoscimento della grafia o il riconoscimento vocale, come se fosse input di testo usando il flag di KEYEVENTF_UNICODE . Se viene specificato KEYEVENTF_UNICODE, SendInput invia un messaggio WM_KEYDOWN o WM_KEYUP alla coda del messaggio del thread in primo piano con wParam uguale a VK_PACKET. Dopo che GetMessage o PeekMessage ottiene questo messaggio, passando il messaggio a TranslateMessage pubblica un messaggio WM_CHAR con il carattere Unicode originariamente specificato da wScan. Questo carattere Unicode verrà convertito automaticamente nel valore ANSI appropriato se viene pubblicato in una finestra ANSI.

Impostare il flag KEYEVENTF_SCANCODE per definire l'input della tastiera in termini di codice di analisi. Questo è utile per simulare una sequenza di tasti fisici indipendentemente dalla tastiera attualmente usata. È anche possibile passare il flag KEYEVENTF_EXTENDEDKEY se il codice di analisi è una chiave estesa. Il valore del tasto virtuale di un tasto può cambiare a seconda del layout della tastiera corrente o di quali altri tasti sono stati premuti, ma il codice di analisi sarà sempre lo stesso.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winuser.h (include Windows.h)

Vedi anche