Condividi tramite


Funzione ActivateKeyboardLayout (winuser.h)

Imposta l'identificatore delle impostazioni locali di input (in precedenza denominato 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.

Sintassi

HKL ActivateKeyboardLayout(
  [in] HKL  hkl,
  [in] UINT Flags
);

Parametri

[in] hkl

Tipo: HKL

Identificatore delle impostazioni locali di input da attivare.

L'identificatore delle impostazioni locali di input deve essere stato caricato da una chiamata precedente alla funzione LoadKeyboardLayout . Questo parametro deve essere l'handle di un layout della tastiera o uno dei valori seguenti.

Valore Significato
HKL_NEXT
1
Seleziona l'identificatore delle impostazioni locali successivo nell'elenco circolare degli identificatori delle impostazioni locali caricate mantenuti dal sistema.
HKL_PREV
0
Seleziona l'identificatore delle impostazioni locali precedente nell'elenco circolare degli identificatori delle impostazioni locali caricate mantenuti dal sistema.

[in] Flags

Tipo: UINT

Specifica la modalità di attivazione dell'identificatore delle impostazioni locali di input. Questo parametro può avere uno dei valori seguenti.

Valore Significato
KLF_REORDER
0x00000008
Se questo bit è impostato, l'elenco circolare di identificatori delle impostazioni locali caricate viene riordinato spostando l'identificatore delle impostazioni locali nella testa dell'elenco. Se questo bit non è impostato, l'elenco viene ruotato senza una modifica dell'ordine.

Ad esempio, se un utente ha un identificatore delle impostazioni locali inglese attivo, oltre ad avere identificatori delle impostazioni locali francese, tedesco e spagnolo caricati (in tale ordine), attivare l'identificatore delle impostazioni locali tedesche con il set di impostazioni locali KLF_REORDER produrrebbe l'ordine seguente: tedesco, inglese, francese, spagnolo. L'attivazione dell'identificatore delle impostazioni locali tedesche senza il set di bit KLF_REORDER produrrebbe l'ordine seguente: tedesco, spagnolo, inglese, francese.

Se vengono caricati meno di tre identificatori delle impostazioni locali, il valore di questo flag è irrilevante.

KLF_RESET
0x40000000
Se impostato ma KLF_SHIFTLOCK non è impostato, lo stato Blocco maiuscole viene disattivato premendo di nuovo il tasto Blocco maiuscole. Se impostata e KLF_SHIFTLOCK è impostata anche, lo stato Blocco maiusc viene disattivato premendo un tasto MAIUSC.

Questi due metodi si escludono a vicenda e l'impostazione persiste come parte del profilo dell'utente nel Registro di sistema.

KLF_SETFORPROCESS
0x00000100
Attiva l'identificatore delle impostazioni locali specificato per l'intero processo e invia il messaggio di WM_INPUTLANGCHANGE allo stato attivo o alla finestra attiva del thread corrente.
KLF_SHIFTLOCK
0x00010000
Questa operazione viene usata con KLF_RESET. Per una spiegazione, vedere KLF_RESET .
KLF_UNLOADPREVIOUS
Questo flag non è supportato. Usare invece la funzione UnloadKeyboardLayout .

Valore restituito

Tipo: HKL

Il valore restituito è di tipo HKL. Se la funzione ha esito positivo, il valore restituito è l'identificatore delle impostazioni locali di input precedente. In caso contrario, è zero.

Per ottenere informazioni sull'errore estese, usare la funzione GetLastError .

Commenti

Questa funzione influisce solo sul layout del processo o del thread corrente.

Questa funzione non è limitata ai layout della tastiera. Il parametro hkl è effettivamente un identificatore delle impostazioni locali di input. Si tratta di un concetto più ampio di un layout della tastiera, poiché può anche includere un convertitore voce a testo, un editor di metodi di input (IME) o qualsiasi altra forma di input. È possibile caricare diversi identificatori delle impostazioni locali di input in qualsiasi momento, ma solo uno è attivo alla volta. Il caricamento di più identificatori delle impostazioni locali di input consente di passare rapidamente tra di essi.

Quando sono consentite più messaggistica istantanea per ogni impostazione locale, passando un identificatore delle impostazioni locali di input in cui la parola alta (handle dispositivo) è zero attiva il primo IME nell'elenco appartenente alle impostazioni locali.

I flag KLF_RESET e KLF_SHIFTLOCK modificano il metodo in base al quale viene disattivato lo stato Caps Lock. Per impostazione predefinita, lo stato Blocco maiuscole viene disattivato premendo di nuovo il tasto Blocca maiuscole. Se viene impostato solo KLF_RESET , lo stato predefinito viene ripristinato. Se KLF_RESET e KLF_SHIFTLOCK vengono impostati, lo stato Blocco maiuscole viene disattivato premendo il tasto Blocco maiuscole. Questa funzionalità viene usata per soddisfare gli standard di comportamento della tastiera locale e per le preferenze personali.

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

Informazioni concettuali

GetKeyboardLayoutName

Input della tastiera

LoadKeyboardLayout

Riferimento

UnloadKeyboardLayout