UDF > WinAPIEx > System > User Keyboard Input >


_WinAPI_ActivateKeyboardLayout

Définit l'identifiant des paramètres régionaux d'entrée pour le thread appelant ou le processus en cours

#include <WinAPISys.au3>
_WinAPI_ActivateKeyboardLayout ( $hLocale [, $iFlag = 0] )

Paramètres

$hLocale L'identifiant des paramètres régionaux d'entrée à activer.
Ce paramètre doit être le handle d'une disposition de clavier ou une des valeurs suivantes:
    $HKL_NEXT
    $HKL_PREV
$iFlag [optionnel] Flag qui indique comment l'identifiant des paramètres régionaux d'entrée doit être activé.
Ce paramètre peut prendre l'une des valeurs suivantes:
    $KLF_REORDER
    $KLF_RESET
    $KLF_SETFORPROCESS
    $KLF_SHIFTLOCK

Valeur de retour

Succès: Retourne le précédent identifiant des paramètres régionaux d'entrée.
Échec: Retourne 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur.

Voir aussi

Consultez ActivateKeyboardLayout dans la librairie MSDN.

Exemple

#include <APILocaleConstants.au3>
#include <APISysConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WinAPILocale.au3>
#include <WinAPISys.au3>

GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 300, 200)
Local $idLabel = GUICtrlCreateLabel('', 10, 66, 280, 40, $SS_CENTER)
GUICtrlSetFont(-1, 12, 800, 0, 'Tahoma')
Local $idPrev = GUICtrlCreateButton('<', 82, 164, 60, 24)
Local $idNext = GUICtrlCreateButton('>', 158, 164, 60, 24)
GUISetState(@SW_SHOW)

Local $bUpdate = True, $iMsg
Do
    If $bUpdate Then
        GUICtrlSetData($idLabel, '0x'& StringRight(@KBLayout, 4) & @CRLF & _WinAPI_GetLocaleInfo(Number('0x'& @KBLayout), $LOCALE_SLANGUAGE))
        $bUpdate = False
    EndIf

    $iMsg = GUIGetMsg() 
    Switch $iMsg
        Case $idNext
            _WinAPI_ActivateKeyboardLayout($HKL_NEXT)
            $bUpdate = True
        Case $idPrev
            _WinAPI_ActivateKeyboardLayout($HKL_PREV)
            $bUpdate = True
    EndSwitch
Until $iMsg = -3