Freigeben über


SetDefaultLayoutOrTip-Funktion

Legt das angegebene Tastaturlayout oder einen Textdienst als Standardeingabeelement für die jeweils aktuellen Benutzer*innen fest.

Syntax

BOOL CALLBACK SetDefaultLayoutOrTip(
  _In_ LPCWSTR           psz,
  _In_ LPCWSTR psz DWORD dwFlags
);

Parameter

psz [in]

Eine Zeichenfolge, die eine Tastaturlayoutliste oder eine Profilliste für 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. Wenn Sie z. B. SDLOT_NOAPPLYTOCURRENTSESSION verwenden möchten, müssen Sie in Ihren Code „#define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001“ einschließen.

Wert Bedeutung
SDLOT_NOAPPLYTOCURRENTSESSION
0x00000001
Speichert die Einstellung in der Registrierung, aktualisiert aber nicht die Tastatureinstellung der Runtime für die aktuelle Sitzung. Falls der alternative Registrierungspfad in SetDefaultLayoutOrTipUserReg festgelegt wurde, sollte dieses Flag festgelegt werden.
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
Wendet die Einstellung sofort auf den aktuellen Thread an.

Rückgabewert

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

Hinweise

Das Zeichenfolgenformat der Layoutliste lautet:

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

Das Zeichenfolgenformat der Profilliste für Textdienste lautet:

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

Im Folgenden finden Sie ein Beispiel für einen Wert für den psz-Parameter:

"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, mithilfe von LoadLibrary und GetProcAddress einen Zeiger auf diese Funktion abzurufen. Im folgenden Beispiel wird veranschaulicht, wie Sie einen Zeiger auf diese Funktion abrufen.

Hinweis

Eine falsche Verwendung von LoadLibrary kann die Sicherheit Ihrer Anwendung gefährden, falls die falsche DLL geladen wird. Informationen zum ordnungsgemäßen Laden von DLLs mit verschiedenen Versionen von Microsoft Windows finden Sie unter Dynamic Link Library: Suchreihenfolge.

typedef HRESULT (WINAPI *PTF_ SETDEFAULTLAYOUTORTIP)(LPCWSTR psz);

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

if(hInputDLL == NULL)
{
    // Error loading module; fail as securely as possible. 
}
else
{
    PTF_ SETDEFAULTLAYOUTORTIP pfnSetDefaultLayoutOrTip;
    
    pfnSetDefaultLayoutOrTip = (PTF_ SETDEFAULTLAYOUTORTIP)GetProcAddress(hInputDLL, "SetDefaultLayoutOrTip");

    if(pfnSetDefaultLayoutOrTip)
    {
        bRet = (*pfnSetDefaultLayoutOrTip)(psz);
    }

    FreeLibrary(hInputDLL);
}

Anforderungen

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