Condividi tramite


Funzione GetKeyState (winuser.h)

Recupera lo stato della chiave virtuale specificata. Lo stato specifica se il tasto è attivo, inattivo o disattivato, alternando ogni volta che viene premuto il tasto.

Sintassi

SHORT GetKeyState(
  [in] int nVirtKey
);

Parametri

[in] nVirtKey

Tipo: int

Una chiave virtuale. Se la chiave virtuale desiderata è una lettera o una cifra (da A a Z, da a z o da 0 a 9), nVirtKey deve essere impostato sul valore ASCII di tale carattere. Per altre chiavi, deve essere un codice di chiave virtuale.

Se viene usato un layout di tastiera non inglese, i tasti virtuali con valori compresi nell'intervallo compreso tra ASCII A e Z e da 0 a 9 vengono usati per specificare la maggior parte dei tasti di carattere. Ad esempio, per il layout della tastiera tedesca, il tasto virtuale di valore ASCII O (0x4F) fa riferimento al tasto "o", mentre VK_OEM_1 fa riferimento al tasto "o con umlaut".

Valore restituito

Tipo: SHORT

Il valore restituito specifica lo stato della chiave virtuale specificata, come indicato di seguito:

  • Se il bit di ordine elevato è 1, la chiave è inattiva; in caso contrario, è in alto.
  • Se il bit di ordine basso è 1, la chiave viene attivata o disattivata. Una chiave, ad esempio il tasto BLOC MAIUSC, viene attivata o disattivata. La chiave è disattivata e deselezionata se il bit di ordine basso è 0. La luce dell'indicatore di un tasto di attivazione (se presente) sulla tastiera verrà attivata quando il tasto viene attivato o disattivato quando il tasto è disattivato.

Commenti

Lo stato della chiave restituito da questa funzione cambia quando un thread legge i messaggi chiave dalla coda dei messaggi. Lo stato non riflette lo stato a livello di interrupt associato all'hardware. Usare la funzione GetAsyncKeyState per recuperare tali informazioni.

Un'applicazione chiama GetKeyState in risposta a un messaggio di input da tastiera. Questa funzione recupera lo stato della chiave quando è stato generato il messaggio di input.

Per recuperare le informazioni sullo stato per tutte le chiavi virtuali, usare la funzione GetKeyboardState .

Un'applicazione può usare le costanti del codice della chiave virtualeVK_SHIFT, VK_CONTROL e VK_MENU come valori per il parametro nVirtKey . In questo modo viene visualizzato lo stato dei tasti MAIUSC, CTRL o ALT senza distinguere tra sinistra e destra. Un'applicazione può anche usare le costanti di codice della chiave virtuale seguenti come valori per nVirtKey per distinguere tra le istanze di sinistra e destra di tali chiavi:

VK_LSHIFTVK_RSHIFTVK_LCONTROLVK_RCONTROLVK_LMENUVK_RMENU Queste costanti distinzione sinistra e destra sono disponibili per un'applicazione solo tramite le funzioni GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState e MapVirtualKeyKey.

Esempio

Per un esempio, vedere Visualizzazione dell'input da tastiera.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche