SetDefaultLayoutOrTipUserReg-Funktion

Legt das angegebene Tastaturlayout oder einen Textdienst als Standardeingabeelement der Benutzerregistrierung fest.

Syntax

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

Parameter

pszUserReg [ in, optional]

Der Registrierungspfad des Benutzers. Wenn dieser Parameter NULL ist, wird HKEY _ CURRENT USER _ verwendet.

pszSystemReg [ in, optional]

Der Registrierungspfad des Systems. Wenn dieser Parameter NULL ist, wird HKEY _ LOCAL MACHINE System _ \ verwendet.

pszSoftwareReg [ in, optional]

Der Registrierungspfad der Software. Wenn dieser Parameter NULL ist, wird HKEY _ LOCAL MACHINE Software _ \ verwendet.

psz [ In]

Eine Zeichenfolge, die die Tastaturlayoutliste oder die Profilliste der Textdienste darstellt.

dwFlags [ In]

Ein Bitfeld, das die folgenden Flags angibt:

Hinweis

Die folgenden Bezeichner sind in einer öffentlichen Headerdatei nicht definiert. Sie müssen entweder den Hexadezimalwert verwenden oder # die Bezeichner definieren. Um beispielsweise SDLOT _ NOAPPLYTOCURRENTSESSION zu verwenden, müssen Sie # SDLOT _ NOAPPLYTOCURRENTSESSION 0x00000001 in Ihren Code einschließen.

Wert Bedeutung
SDLOT _ NOAPPLYTOCURRENTSESSION-0x00000001
Speichert die Einstellung in der Registrierung, aktualisiert jedoch nicht die Laufzeittastatureinstellung der aktuellen Sitzung. Wenn der alternative Registrierungspfad in SetDefaultLayoutOrTipUserReg festgelegt ist, sollte dieses Flag festgelegt werden.
SDLOT _ APPLYTOCURRENTTHREAD-0x00000002
Wendet die Einstellung sofort auf den aktuellen Thread an.

Rückgabewert

Rückgabecode Beschreibung
STIMMT
Die Funktion war erfolgreich.
FALSE
Es ist ein unbekannter Fehler aufgetreten.

Hinweise

Das Zeichenfolgenformat der Layoutliste lautet:

<LangID 1>:<SOLLD 1>; [ ...:

Das Zeichenfolgenformat der Textdienstprofilliste lautet:

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

Im Folgenden wird ein Beispiel für einen Wert für den psz-Parameter angezeigt:

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

Beispiele

Es ist keine Importbibliothek verfügbar, die diese Funktion definiert. Daher ist es erforderlich, mit LoadLibrary und GetProcAddresseinen Zeiger auf diese Funktion abzurufen. Im folgenden Beispiel wird veranschaulicht, wie sie einen Zeiger auf diese Funktion abrufen.

Hinweis

Die falsche Verwendung von LoadLibrary kann die Sicherheit Ihrer Anwendung beeinträchtigen, indem die falsche DLL geladen wird. Informationen zum ordnungsgemäßen Laden von DLLs mit verschiedenen Versionen von Microsoft Windows finden Sie unter Suchreihenfolge der Dynamic Link Library.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]
DLL
Input.dll