Condividi tramite


Input da tastiera

Questa sezione descrive come il sistema genera input da tastiera e come un'applicazione riceve ed elabora tale input.

In questa sezione

Nome Descrizione
Informazioni sull'input da tastiera Illustra l'input da tastiera.
Uso dell'input da tastiera Vengono illustrate le attività associate all'input da tastiera.
Informazioni di riferimento per l'input da tastiera Contiene il riferimento all'API.

Funzioni

Nome Descrizione
ActivateKeyboardLayout Imposta l'identificatore delle impostazioni locali di input (denominato in precedenza handle di layout della tastiera) per il thread chiamante o il processo corrente. L'identificatore delle impostazioni locali di input specifica le impostazioni locali e il layout fisico della tastiera.
BlockInput Blocca gli eventi di input da tastiera e mouse dal raggiungimento delle applicazioni.
EnableWindow Abilita o disabilita l'input del mouse e della tastiera per la finestra o il controllo specificato. Quando l'input è disabilitato, la finestra non riceve input, ad esempio i clic del mouse e i tasti. Quando l'input è abilitato, la finestra riceve tutto l'input.
GetActiveWindow Recupera l'handle della finestra nella finestra attiva collegata alla coda di messaggi del thread chiamante.
GetAsyncKeyState Determina se un tasto è verso l'alto o verso il basso al momento della chiamata alla funzione e se il tasto è stato premuto dopo una chiamata precedente a GetAsyncKeyState.
GetFocus Recupera l'handle nella finestra con lo stato attivo della tastiera, se la finestra è collegata alla coda di messaggi del thread chiamante.
GetKeyboardLayout Recupera l'identificatore delle impostazioni locali di input attivo (precedentemente denominato layout della tastiera) per il thread specificato. Se il parametro idThread è zero, viene restituito l'identificatore delle impostazioni locali di input per il thread attivo.
GetKeyboardLayoutList Recupera gli identificatori delle impostazioni locali di input (in precedenza denominati handle di layout della tastiera) corrispondenti al set corrente di impostazioni locali di input nel sistema. La funzione copia gli identificatori nel buffer specificato.
GetKeyboardLayoutName Recupera il nome dell'identificatore delle impostazioni locali di input attivo (in precedenza denominato layout della tastiera).
GetKeyboardState Copia lo stato delle 256 chiavi virtuali nel buffer specificato.
GetKeyNameText Recupera una stringa che rappresenta il nome di una chiave.
GetKeyState Recupera lo stato della chiave virtuale specificata. Lo stato specifica se il tasto è attivo o disattivato ogni volta che viene premuto il tasto.
GetLastInputInfo Recupera l'ora dell'ultimo evento di input.
IsWindowEnabled Determina se la finestra specificata è abilitata per l'input del mouse e della tastiera.
LoadKeyboardLayout Carica un nuovo identificatore delle impostazioni locali di input (in precedenza denominato layout della tastiera) nel sistema. È possibile caricare più identificatori delle impostazioni locali di input alla volta, ma solo uno per processo è attivo alla volta. Il caricamento di più identificatori delle impostazioni locali di input consente di spostarsi rapidamente tra di essi.
MapVirtualKey Converte (mappe) un codice di chiave virtuale in un codice di analisi o un valore di carattere oppure converte un codice di analisi in un codice di chiave virtuale.
Per specificare un handle per il layout della tastiera da utilizzare per tradurre il codice specificato, utilizzare la funzione MapVirtualKeyEx.
MapVirtualKeyEx Mappe un codice di chiave virtuale in un codice di analisi o un valore di carattere oppure converte un codice di analisi in un codice di chiave virtuale. La funzione converte i codici usando la lingua di input e un identificatore delle impostazioni locali di input.
OemKeyScan Mappe codici OEMASCII da 0 a 0x0FF nei codici di analisi OEM e negli stati di spostamento. La funzione fornisce informazioni che consentono a un programma di inviare testo OEM a un altro programma simulando l'input da tastiera.
RegisterHotKey Definisce un tasto di scelta rapida a livello di sistema.
SendInput Sintetizza le sequenze di tasti, i movimenti del mouse e i clic dei pulsanti.
SetActiveWindow Attiva una finestra. La finestra deve essere collegata alla coda di messaggi del thread chiamante.
Setfocus Imposta lo stato attivo della tastiera sulla finestra specificata. La finestra deve essere collegata alla coda di messaggi del thread chiamante.
SetKeyboardState Copia una matrice di tasti da 256 byte nella tabella dello stato di input della tastiera del thread chiamante. Si tratta della stessa tabella a cui si accede dalle funzioni GetKeyboardState e GetKeyState. Le modifiche apportate a questa tabella non influiscono sull'input della tastiera su altri thread.
ToAscii Converte il codice di tasto virtuale e lo stato della tastiera specificati nel carattere o nei caratteri corrispondenti. La funzione converte il codice usando la lingua di input e il layout fisico della tastiera identificato dall'handle di layout della tastiera.
Per specificare un handle per il layout della tastiera da utilizzare per tradurre il codice specificato, utilizzare la funzione ToAsciiEx.
ToAsciiEx Converte il codice di tasto virtuale e lo stato della tastiera specificati nel carattere o nei caratteri corrispondenti. La funzione converte il codice usando la lingua di input e il layout fisico della tastiera identificato dall'identificatore delle impostazioni locali di input.
ToUnicode Converte il codice di tasto virtuale e lo stato della tastiera specificati nel carattere o nei caratteri Unicode corrispondenti.
Per specificare un handle per il layout della tastiera da usare per tradurre il codice specificato, utilizzare la funzione ToUnicodeEx.
ToUnicodeEx Converte il codice di tasto virtuale e lo stato della tastiera specificati nel carattere o nei caratteri Unicode corrispondenti.
UnloadKeyboardLayout Scarica un identificatore delle impostazioni locali di input (denominato in precedenza layout di tastiera).
UnregisterHotKey Libera un tasto di scelta rapida registrato in precedenza dal thread chiamante.
VkKeyScanEx Converte un carattere nel codice della chiave virtuale corrispondente e nello stato di spostamento. La funzione converte il carattere usando la lingua di input e il layout fisico della tastiera identificato dall'identificatore delle impostazioni locali di input.

Le funzioni seguenti sono obsolete.

Funzione Descrizione
GetKBCodePage Recupera la tabella codici corrente.
keybd_event Sintetizza una sequenza di tasti. Il sistema può usare tale sequenza di tasti sintetizzata per generare un messaggio WM_KEYUP o WM_KEYDOWN. Il gestore interrupt del driver della tastiera chiama la funzione keybd_event.
VkKeyScan Converte un carattere nel codice del tasto virtuale corrispondente e lo stato di spostamento per la tastiera corrente.

Messaggi

Nome Descrizione
WM_GETHOTKEY Determina il tasto di scelta rapida associato a una finestra.
WM_edizione Standard THOTKEY Associa un tasto di scelta rapida alla finestra. Quando l'utente preme il tasto di scelta rapida, il sistema attiva la finestra.

Notifications

Nome Descrizione
WM_ACTIVATE Inviato sia alla finestra in fase di attivazione che alla finestra in fase di disattivazione. Se le finestre usano la stessa coda di input, il messaggio viene inviato in modo sincrono, prima alla routine della finestra di primo livello disattivata, quindi alla routine della finestra di primo livello attivata. Se le finestre usano code di input diverse, il messaggio viene inviato in modo asincrono, quindi la finestra viene attivata immediatamente.
WM_APPCOMMAND Notifica a una finestra che l'utente ha generato un evento di comando dell'applicazione, ad esempio facendo clic su un pulsante di comando dell'applicazione usando il mouse o digitando un tasto di comando dell'applicazione sulla tastiera.
WM_CHAR Inviato alla finestra con lo stato attivo della tastiera quando un messaggio di WM_KEYDOWN viene convertito dalla funzione TranslateMessage. Il messaggio WM_CHAR contiene il codice carattere del tasto premuto.
WM_DEADCHAR Inviato alla finestra con lo stato attivo della tastiera quando un messaggio WM_KEYUP viene convertito dalla funzione TranslateMessage. WM_DEADCHAR specifica un codice carattere generato da una chiave non morta. Una chiave morta è una chiave che genera un carattere, ad esempio l'umlaut (doppio punto), combinato con un altro carattere per formare un carattere composito. Ad esempio, il carattere umlaut-O ( ) viene generato digitando la chiave morta per il carattere umlaut e quindi digitando il tasto O.
WM_HOTKEY Inviato quando l'utente preme un tasto di scelta rapida registrato dalla funzione RegisterHotKey. Il messaggio viene posizionato nella parte superiore della coda di messaggi associata al thread che ha registrato il tasto di scelta rapida.
WM_KEYDOWN Inserito nella finestra con lo stato attivo della tastiera quando viene premuto un tasto non di sistema. Un tasto non di sistema è un tasto premuto quando il tasto ALT non viene premuto.
WM_KEYUP Inserito nella finestra con lo stato attivo della tastiera quando viene rilasciato un tasto non di sistema. Un tasto non di sistema è un tasto premuto quando il tasto ALT non viene premuto o un tasto da tastiera premuto quando una finestra ha lo stato attivo della tastiera.
WM_KILLFOCUS Inviato a una finestra immediatamente prima che perda lo stato attivo della tastiera.
WM_edizione Standard TFOCUS Inviato a una finestra dopo aver ottenuto lo stato attivo della tastiera.
WM_SYSDEADCHAR Inviato alla finestra con lo stato attivo della tastiera quando un messaggio di WM_SYSKEYDOWN viene convertito dalla funzione TranslateMessage. WM_SYSDEADCHAR specifica il codice carattere di un tasto non attivo di sistema, ovvero un tasto non attivo premuto tenendo premuto ALT.
WM_SYSKEYDOWN Pubblicato nella finestra con lo stato attivo della tastiera quando l'utente preme il tasto F10 (che attiva la barra dei menu) o tiene premuto IL tasto ALT e quindi preme un altro tasto. Si verifica anche quando nessuna finestra ha attualmente lo stato attivo della tastiera; in questo caso, il messaggio WM_SYSKEYDOWN viene inviato alla finestra attiva. La finestra che riceve il messaggio può distinguere tra questi due contesti controllando il codice di contesto nel parametro lParam .
WM_SYSKEYUP Inviato alla finestra con lo stato attivo della tastiera quando l'utente rilascia un tasto premuto mentre il tasto ALT è stato premuto. Si verifica anche quando nessuna finestra ha attualmente lo stato attivo della tastiera; in questo caso, il messaggio WM_SYSKEYUP viene inviato alla finestra attiva. La finestra che riceve il messaggio può distinguere tra questi due contesti controllando il codice di contesto nel parametro lParam .
WM_UNICHAR Inviato alla finestra con lo stato attivo della tastiera quando un messaggio di WM_KEYDOWN viene convertito dalla funzione TranslateMessage. Il messaggio WM_UNICHAR contiene il codice carattere del tasto premuto.

Strutture

Nome Descrizione
HARDWAREINPUT Contiene informazioni su un messaggio simulato generato da un dispositivo di input diverso da una tastiera o un mouse.
INPUT Contiene informazioni usate per la diffusione di eventi di input, ad esempio sequenze di tasti, spostamento del mouse e clic del mouse.
KEYBDINPUT Contiene informazioni su un evento di tastiera simulato.
LASTINPUTINFO Contiene l'ora dell'ultimo input.
MOU edizione Standard INPUT Contiene informazioni su un evento del mouse simulato.

Costanti

Nome Descrizione
Codici di chiave virtuale Nomi di costanti simboliche, valori esadecimali e equivalenti del mouse o della tastiera per i codici di tasti virtuali utilizzati dal sistema. I codici sono elencati in ordine numerico.

Vedi anche