Freigeben über


InstallLayoutOrTipUserReg-Funktion

Aktiviert die angegebenen Tastaturlayouts oder Textdienste für den angegebenen Benutzer.

Syntax

BOOL CALLBACK InstallLayoutOrTipUserReg(
  _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 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 #define. Wenn Sie z. B. ILOT_UNINSTALL verwenden möchten, müssen Sie in Ihren Code einschließen #define ILOT_UNINSTALL 0x00000001 .

Wert Bedeutung
ILOT_UNINSTALL
0x00000001
Identisch mit ILOT_DISABLED.
ILOT_DEFPROFILE
0x00000002
Legt das angegebene Layout oder die angegebene Spitze als Standardelement fest.
ILOT_NOAPPLYTOCURRENTSESSION
0x00000020
Die Einstellung wird gespeichert, aber nicht auf die aktuelle Sitzung angewendet.
ILOT_CLEANINSTALL
0x00000040
Deaktiviert alle aktuellen Tastaturlayouts und Textdienste.
ILOT_DISABLED
0x00000080
Deaktiviert das angegebene Tastaturlayout und den angegebenen Textdienst.

Rückgabewert

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

Bemerkungen

Das Zeichenfolgenformat der Layoutliste lautet:

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

Das Zeichenfolgenformat der Textdienstprofilliste lautet:

<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}{xxxxxxxxxx-xxxx-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 muss mithilfe von LoadLibrary und GetProcAddress ein Zeiger auf diese Funktion abgerufen werden. 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 Dynamic-Link Library Search Order (Dynamic Link Library Search Order ).

typedef HRESULT (
  WINAPI *PTF_ INSTALLLAYOUTORTIPUSERREG)(LPCWSTR pszUserReg, 
  LPCWSTR pszSystemReg, 
  LPCWSTR pszSoftwareReg, 
  LPCWSTR psz, 
  DWORD dwFlasg);

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

if(hInputDLL == NULL)
{
    // Error loading module; fail as securely as possible. 
}
else
{
    PTF_ INSTALLLAYOUTORTIPUSERREG pfnInputLayoutOrTipUserReg;
    
    pfnInputLayoutOrTipUserReg = (PTF_ INSTALLLAYOUTORTIPUSERREG)GetProcAddress(hInputDLL, "InputLayoutOrTipUserReg");

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

    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