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. |