LoadKeyboardLayout

La funzione LoadKeyboardLayout carica un nuovo layout di tastiera nel sistema. Diversi layout di tastiera può essere caricata in un momento, ma solo uno per ogni processo è attivo in un momento. Caricamento più layout di tastiera rende possibile passare rapidamente tra layout.

(HKL LoadKeyboardLayout LPCTSTR  pwszKLID, / / nome del layout per caricareUINTBandiere / / flag layout di tastiera);
 

Parametri

pwszKLID
Puntatore a un buffer che specifica il nome del layout di tastiera per caricare. Questo nome è una stringa composta dal valore esadecimale del identificatore di lingua (parola basso) e un identificatore di dispositivo (alta parola). Ad esempio, inglese americano ha un identificatore di lingua di 0x0409, così il layout inglese di U.S. primario è denominato "00000409". Varianti del layout inglese U.S. (ad esempio il layout Dvorak) sono denominati "00010409", "00020409" e così via.
Bandiere
Specifica come deve essere caricato il layout di tastiera. Questo parametro può essere uno dei seguenti valori.
Valore Significato
KLF_ACTIVATE Se non è già caricato layout specificato, la funzione viene caricato e attiva il layout per il thread corrente.
KLF_NOTELLSHELL Una routine di hook ShellProc impedisce di ricevere un codice di gancio HSHELL_LANGUAGE quando viene caricato il nuovo layout. Questo valore viene in genere utilizzato quando un'applicazione viene caricato più layout uno dopo l'altro. Applicando questo valore a tutti, ma il layout ultimo ritardi della shell di elaborazione fino a quando non sono stati aggiunti tutti i formati.
KLF_REORDER Sposta layout specificato alla testa della lista di layout di tastiera, rendendo il layout del layout attivo per il thread corrente. Questo valore riordina l'elenco di layout di tastiera, anche se KLF_ACTIVATE non viene fornito.
KLF_REPLACELANG Windows NT 4.0, Windows 95 e più tardi:Se il nuovo layout ha lo stesso identificatore di lingua come un layout corrente, il nuovo layout sostituisce quella attuale come il layout per quella lingua. Se questo valore non viene fornito e i layout di avere gli identificatori di lingua stessa, layout corrente non viene sostituito e la funzione restituisce NULL.
KLF_SUBSTITUTE_OK Sostituisce il layout di tastiera specificato con un altro layout preferito dall'utente. Il sistema inizia con questo flag impostato, e si raccomanda che l'applicazione sempre utilizzare questo flag. La sostituzione si verifica solo se la chiave del Registro di sistema HKEY_CURRENT_USER\Keyboard Layout\Substitutes definisce esplicitamente un layout di sostituzione. Ad esempio, se la chiave include il nome del valore "00000409" con valore "00010409", l'inglese americano di caricamento layout ("00000409") provoca il layout Dvorak U.S. English ("00010409") deve essere caricato invece. Il sistema utilizza KLF_SUBSTITUTE_OK durante l'avvio, e si raccomanda che tutte le applicazioni di utilizzano questo valore quando si carica il layout per assicurarsi che sia selezionata la preferenza dell'utente.
KLF_SETFORPROCESS Windows NT 5.0 e versioni successive:: questo flag è valido solo con KLF_ACTIVATE. Attiva il layout di tastiera specificato per l'intero processo e invia il messaggio WM_INPUTLANGCHANGE a tutti i thread del processo corrente. In genere, LoadKeyboardLayout attiva un layout solo per il thread corrente.
KLF_UNLOADPREVIOUS Non è supportato in Windows NT 5.0, Windows 95 e Windows 98:Questo flag è valido solo con KLF_ACTIVATE. Scarica il layout precedente solo se il caricamento e l'attivazione di layout specificato ha esito positivo. È consigliabile che l'applicazione utilizzare la funzione UnloadKeyboardLayout.

Valori restituiti

Se la funzione ha esito positivo, il valore restituito è l'handle del layout di tastiera per il layout abbinato con il nome richiesto. Se nessuna corrispondenza layout di tastiera è disponibile, il valore restituito è NULL. Per ottenere informazioni di errore estese, chiamare GetLastError.

Osservazioni

Un'applicazione può e in genere verrà caricato il layout di default o IME per una lingua e può farlo specificando solo una versione stringa di identificatore di lingua. Se un'applicazione vuole caricare un formato specifico o IME, dovrebbe leggere il Registro di sistema per determinare l'identificatore specifico layout per passare al LoadKeyboardLayout. In questo caso, una richiesta per attivare l'handle di layout di tastiera predefinita per impostazioni internazionali attiverà una corrispondenza. Un IME specifico dovrebbe essere attivato utilizzando un handle di layout di tastiera esplicita restituito da GetKeyboardLayout, GetKeyboardLayoutListo LoadKeyboardLayout.

Windows 95 e Windows 98: Se un layout deve essere caricato con la stessa lingua un layout precedentemente caricato e il KLF_REPLACELANG bandiera è non insieme, la chiamata non riesce. Solo un layout caricato può essere associata a una determinata lingua. (È accettabile per IME multiple deve essere caricato con associazioni alla stessa lingua).

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI su Windows NT.

Vedi anche

Cenni preliminari sull'Input di tastiera, funzioni di Input da tastiera, ActivateKeyboardLayout, GetKeyboardLayoutName, MAKELANGID,UnloadKeyboardLayout

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index