EnumEnabledLayoutOrTip 函数
枚举指定用户设置的所有已启用的键盘布局或文本服务。
语法
UINT EnumEnabledLayoutOrTip(
_In_opt_ LPCWSTR pszUserReg,
_In_opt_ LPCWSTR pszSystemReg,
_In_opt_ LPCWSTR pszSoftwareReg,
_Out_ LAYOUTORTIPPROFILE *pLayoutOrTipProfile,
_In_ UINT uBufLength
);
参数
-
pszUserReg [in, optional]
-
用户的注册表路径。 如果此参数为 NULL,则使用 HKEY_CURRENT_USER。
-
pszSystemReg [in, optional]
-
系统的注册表路径。 如果此参数为 NULL,则使用 HKEY_LOCAL_MACHINE\System。
-
pszSoftwareReg [in, optional]
-
软件的注册表路径。 如果此参数为 NULL,则使用 HKEY_LOCAL_MACHINE\Software。
-
pLayoutOrTipProfile [out]
-
指向接收 LAYOUTORTIPPROFILE 数组的缓冲区的指针。
-
uBufLength [in]
-
pLayoutOrTipProfile 指向的缓冲区的长度。
返回值
如果 pLayoutOrTipProfile 为 NULL,则为在用户设置中启用的键盘项数;否则为复制到 pLayoutOrTipProfile 中的键盘项数。
对于输入法编辑器 (输入法) 语言,返回所有 IME,即使只启用一个 IME 也是如此。 例如,如果用户启用了 CHT 新建快速 IME, 则 EnumEnabledLayoutOrTip 函数将返回所有 5 个 CHT IME。
备注
没有可用于定义此函数的导入库,因此必须使用 LoadLibrary 和 GetProcAddress 获取指向此函数的指针。
注意
错误地使用 LoadLibrary 可能会通过加载错误的 DLL 来损害应用程序的安全性。 有关如何使用不同版本的 Microsoft Windows 正确加载 DLL 的信息,请参阅 动态链接库搜索顺序 。
LAYOUTORTIPPROFILE 的定义是:
typedef struct tagLAYOUTORTIPPROFILE {
DWORD dwProfileType; // InputProcessor or HKL
#define LOTP_INPUTPROCESSOR 1
#define LOTP_KEYBOARDLAYOUT 2
LANGID langid; // language id
CLSID clsid; // CLSID of tip
GUID guidProfile; // profile description
GUID catid; // category of tip
DWORD dwSubstituteLayout; // substitute hkl
DWORD dwFlags; // Flags
WCHAR szId[MAX_PATH]; // KLID or TIP profile for string
} LAYOUTORTIPPROFILE;
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
DLL |
|