InstallLayoutOrTip function
Enables the specified keyboard layouts or text services.
Syntax
BOOL CALLBACK InstallLayoutOrTip(
_In_ LPCWSTR psz,
_In_ DWORD dwFlags
);
Parameters
-
psz [in]
-
A string that represents the keyboard layout list or text services profile list.
-
dwFlags [in]
-
A bitfield that specifies the following flags:
Note
The following identifiers are not defined in a public header file. You must either use the hexadecimal value or #define the identifiers. For example, to use ILOT_UNINSTALL you must include
#define ILOT_UNINSTALL 0x00000001
in your code.Value Meaning - ILOT_UNINSTALL
- 0x00000001
Same as ILOT_DISABLED. - ILOT_DEFPROFILE
- 0x00000002
Sets the specified layout or tip as a default item. - ILOT_DEFUSER4
- 0x00000004
Changes the setting of .Default. - ILOT_SYSLOCALE
- 0x00000008
Unused. - ILOT_NOLOCALETOENUMERATE
- 0x00000010
Unused. - ILOT_NOAPPLYTOCURRENTSESSION
- 0x00000020
The setting is saved but is not applied to the current session. - ILOT_CLEANINSTALL
- 0x00000040
Disables all of the current keyboard layouts and text services. - ILOT_DISABLED
- 0x00000080
Disables the specified keyboard layout and text service.
Return value
Return code | Description |
---|---|
|
The function was successful. |
|
An unspecified error occurred. |
Remarks
The string format of the layout list is:
<LangID 1>:<KLID 1>;[...<LangID N>:<KLID N>
The string format of the text service profile list is:
<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};
The following is an example of a value for the psz parameter:
"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"
Examples
There is no import library available that defines this function, so it is necessary to obtain a pointer to this function using LoadLibrary and GetProcAddress.
Note
Using LoadLibrary incorrectly can compromise the security of your application by loading the wrong DLL. Refer to Dynamic-Link Library Search Order for information on how to correctly load DLLs with different versions of Microsoft Windows.
typedef HRESULT (WINAPI *PTF_ INSTALLLAYOUTORTIP)(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_ INSTALLLAYOUTORTIP pfnInstallLayoutOrTip;
pfnInstallLayoutOrTip = (PTF_ INSTALLLAYOUTORTIP)GetProcAddress(hInputDLL, "InstallLayoutOrTip");
if(pfnInstallLayoutOrTip)
{
bRet = (*pfnInstallLayoutOrTip)(psz, dwFlags);
}
FreeLibrary(hInputDLL);
}
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista [desktop apps only] |
Minimum supported server |
Windows Server 2008 [desktop apps only] |
DLL |
|