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 指向的缓冲区的长度。

返回值

如果 pLayoutOrTipProfileNULL,则为在用户设置中启用的键盘项数;否则为复制到 pLayoutOrTipProfile 中的键盘项数。

对于输入法编辑器 (输入法) 语言,返回所有 IME,即使只启用一个 IME 也是如此。 例如,如果用户启用了 CHT 新建快速 IME, 则 EnumEnabledLayoutOrTip 函数将返回所有 5 个 CHT IME。

备注

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

注意

错误地使用 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
Input.dll