InstallLayoutOrTip 函数

启用指定的键盘布局或文本服务。

语法

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

参数

psz [in]

表示键盘布局列表或文本服务配置文件列表的字符串。

dwFlags [in]

指定以下标志的位域:

注意

公共头文件中未定义以下标识符。 必须使用十六进制值或#define标识符。 例如,若要使用 ILOT_UNINSTALL 必须在 #define ILOT_UNINSTALL 0x00000001 代码中包含 。

含义
ILOT_UNINSTALL
0x00000001
ILOT_DISABLED 相同。
ILOT_DEFPROFILE
0x00000002
将指定的布局或提示设置为默认项。
ILOT_DEFUSER4
0x00000004
更改 的设置。默认。
ILOT_SYSLOCALE
0x00000008
未使用。
ILOT_NOLOCALETOENUMERATE
0x00000010
未使用。
ILOT_NOAPPLYTOCURRENTSESSION
0x00000020
设置已保存,但不会应用于当前会话。
ILOT_CLEANINSTALL
0x00000040
禁用所有当前键盘布局和文本服务。
ILOT_DISABLED
0x00000080
禁用指定的键盘布局和文本服务。

返回值

返回代码 说明
TRUE
函数成功。
FALSE
发生了未指定的错误。

备注

布局列表的字符串格式为:

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

文本服务配置文件列表的字符串格式为:

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

下面是 psz 参数的值示例:

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

示例

没有可用于定义此函数的导入库,因此必须使用 LoadLibraryGetProcAddress 获取指向此函数的指针。

注意

错误地使用 LoadLibrary 可能会通过加载错误的 DLL 来损害应用程序的安全性。 有关如何使用不同版本的 Microsoft Windows 正确加载 DLL 的信息,请参阅 动态链接库搜索顺序

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

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
DLL
Input.dll