Condividi tramite


Funzione SetDefaultLayoutOrTipUserReg

Imposta il layout di tastiera specificato o un servizio di testo come elemento di input predefinito del Registro di sistema dell'utente.

Sintassi

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

Parametri

pszUserReg [in, facoltativo]

Percorso del Registro di sistema dell'utente. Se questo parametro è NULL, viene usato HKEY_CURRENT_Uedizione Standard R.

pszSystemReg [in, facoltativo]

Percorso del Registro di sistema. Se questo parametro è NULL, viene usato HKEY_LOCAL_MACHINE\System.

pszSoftwareReg [in, facoltativo]

Percorso del Registro di sistema del software. Se questo parametro è NULL, viene usato HKEY_LOCAL_MACHINE\Software.

psz [in]

Stringa che rappresenta l'elenco di layout della tastiera o l'elenco dei profili dei servizi di testo.

dwFlags [in]

Campo di bit che specifica i flag seguenti:

Nota

Gli identificatori seguenti non sono definiti in un file di intestazione pubblica. È necessario usare il valore esadecimale o #define gli identificatori. Ad esempio, per usare SDLOT_NOAPPLYTOCURRENTedizione Standard SSION è necessario includere #define SDLOT_NOAPPLYTOCURRENTedizione Standard SSION 0x00000001 nel codice.

valore Significato
SDLOT_NOAPPLYTOCURRENTedizione Standard SSION
0x00000001
Archivia l'impostazione nel Registro di sistema ma non aggiorna l'impostazione della tastiera di runtime della sessione corrente. Se il percorso alternativo del Registro di sistema è impostato in SetDefaultLayoutOrTipUserReg, questo flag deve essere impostato.
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
Applica l'impostazione immediatamente sul thread corrente.

Valore restituito

Codice restituito Descrizione
TRUE
La funzione ha avuto esito positivo.
FALSE
Si è verificato un errore non specificato.

Osservazioni:

Il formato stringa dell'elenco di layout è:

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

Il formato stringa dell'elenco di profili del servizio di testo è:

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

Di seguito è riportato un esempio di valore per il parametro psz :

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

Esempi

Non è disponibile una libreria di importazione che definisce questa funzione, quindi è necessario ottenere un puntatore a questa funzione usando LoadLibrary e GetProcAddress. Nell'esempio seguente viene illustrato come ottenere un puntatore a questa funzione.

Nota

L'uso di LoadLibrary in modo errato può compromettere la sicurezza dell'applicazione caricando la DLL errata. Per informazioni su come caricare correttamente le DLL con versioni diverse di Microsoft Windows, vedere Ordine di ricerca libreria a collegamento dinamico.

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);
}

Requisiti

Requisito valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
DLL
Input.dll