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 bzw. der Benutzerin 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 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 mit #define 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 Laufzeit-Tastatureinstellung der aktuellen Sitzung. Falls der alternative Registrierungspfad in SetDefaultLayoutOrTipUserReg festgelegt wird, sollte dieses Flag festgelegt werden. - SDLOT_APPLYTOCURRENTTHREAD
- 0x00000002
Wendet die Einstellung sofort auf den aktuellen Thread an.
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
|
Die Funktion war erfolgreich. |
|
Es ist ein unbekannter Fehler aufgetreten. |
Hinweise
Das Zeichenfolgenformat der Layoutliste lautet:
<LangID 1>:<KLID 1>;[...<LangID N>:<KLID N>
Das Zeichenfolgenformat der Liste der Textdienstprofile lautet:
<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};
Es folgt 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. Das folgende Beispiel veranschaulicht, wie Sie einen Zeiger auf diese Funktion abrufen.
Hinweis
Die falsche Verwendung von LoadLibrary kann die Sicherheit Ihrer Anwendung gefährden, 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: Suchreihenfolge.
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 Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |
DLL |
|