Partager via


SetDefaultLayoutOrTipUserReg, fonction

Définit la disposition spécifiée du clavier ou un service de texte en tant qu’élément d’entrée par défaut du registre utilisateur.

Syntaxe

BOOL CALLBACK SetDefaultLayoutOrTipUserReg(
  _In_opt_ LPCWSTR pszUserReg,
  _In_opt_ LPCWSTR pszSystemReg,
  _In_opt_ LPCWSTR pszSoftwareReg,
  _In_     LPCWSTR psz,
  _In_     DWORD   dwFlags
);

Paramètres

pszUserReg [in, facultatif]

Le chemin d’accès au Registre de l’utilisateur. Si ce paramètre a une valeur NULL, HKEY_CURRENT_USER est utilisé.

pszSystemReg [in, facultatif]

Chemin d’accès au Registre du système. Si ce paramètre a une valeur NULL, HKEY_LOCAL_MACHINE\System est utilisé.

pszSoftwareReg [in, facultatif]

Chemin d’accès au Registre du logiciel. Si ce paramètre a une valeur NULL, HKEY_LOCAL_MACHINE\Software est utilisé.

psz [in]

Une chaîne représentant la liste des dispositions du clavier ou la liste des profils de services de texte.

dwFlags [in]

Champ de bits qui spécifie les indicateurs suivants :

Remarque

Les identificateurs suivants ne sont pas définis dans un fichier d’en-tête publique. Vous devez utiliser la valeur hexadécimale ou #definir les identificateurs. Par exemple, pour utiliser SDLOT_NOAPPLYTOCURRENTSESSION, vous devez inclure #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001 dans votre code.

Valeur Signification
SDLOT_NOAPPLYTOCURRENTSESSION
0x00000001
Stocke le paramètre dans le Registre, sans mettre à jour le paramètre de runtime du clavier pour la session active. Si le chemin d’accès de remplacement au registre est défini dans SetDefaultLayoutOrTipUserReg, cet indicateur doit être défini.
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
Applique immédiatement le paramètre au thread actif.

Valeur retournée

Code de retour Description
VRAI
La fonction a réussi.
FALSE
Une erreur non spécifiée s'est produite.

Notes

Le format de chaîne de la liste de disposition est le suivant :

<LangID 1> :<KLID 1> ; [...<LangID N>:<KLID N>

Le format de chaîne de la liste de profils du service de texte est le suivant :

<LangID 1> : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};

Voici un exemple de valeur pour le paramètre psz :

"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"

Exemples

Il n’existe aucune bibliothèque d’importation disponible qui définit cette fonction. Il est donc nécessaire d’obtenir un pointeur vers cette fonction à l’aide de LoadLibrary et GetProcAddress. L’exemple suivant montre comment obtenir un pointeur vers cette fonction.

Remarque

L’utilisation incorrecte de LoadLibrary peut compromettre la sécurité de votre application en chargeant la mauvaise bibliothèque de liens dynamiques. Consultez l’ordre de recherche de la bibliothèque de liens dynamiques pour obtenir des informations sur la façon de charger correctement des DLL avec différentes versions de Microsoft Windows.

typedef HRESULT (
    WINAPI *PTF_ SETDEFAULTLAYOUTORTIPUSERREG)( LPCWSTR pszUserReg, 
    LPCWSTR pszSystemReg, 
    LPCWSTR pszSoftwareReg, 
    LPCWSTR psz);

HMODULE hInputDLL = LoadLibrary(TEXT("input.dll"));
BOOL bRet = FALSE;

if(hInputDLL == NULL)
{
    //Error loading module -- fail as securely as possible 
}
else
{
    PTF_ SETDEFAULTLAYOUTORTIPUSERREG pfnSetDefaultLayoutOrTipUserReg;
    
    pfnSetDefaultLayoutOrTipUserReg = (PTF_ SETDEFAULTLAYOUTORTIPUSERREG)GetProcAddress(hInputDLL, "SetDefaultLayoutOrTipUserReg");

    if(pfnSetDefaultLayoutOrTipUserReg)
    {
        bRet = (*pfnSetDefaultLayoutOrTipUserReg)( pszUserReg, pszSystemReg, pszSoftwareReg, psz);
    }

    FreeLibrary(hInputDLL);
}

Configuration requise

Condition requise Value
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
DLL
Input.dll