Поделиться через


Функция InstallLayoutOrTipUserReg

Включает указанные раскладки клавиатуры или текстовые службы для указанного пользователя.

Синтаксис

BOOL CALLBACK InstallLayoutOrTipUserReg(
  _In_opt_ LPCWSTR pszUserReg,
  _In_opt_ LPCWSTR pszSystemReg,
  _In_opt_ LPCWSTR pszSoftwareReg,
  _In_     LPCWSTR psz,
  _In_     DWORD   dwFlags
);

Параметры

pszUserReg [in, optional]

Путь к реестру пользователя. Если этот параметр имеет значение NULL, используется HKEY_CURRENT_USER.

pszSystemReg [in, необязательно]

Путь к реестру системы. Если этот параметр имеет значение NULL, используется HKEY_LOCAL_MACHINE\System.

pszSoftwareReg [in, optional]

Путь к реестру программного обеспечения. Если этот параметр имеет значение NULL, используется HKEY_LOCAL_MACHINE\Software.

psz [in]

Строка, представляющая список раскладок клавиатуры или список профилей текстовых служб.

dwFlags [in]

Битовое поле, указывающее следующие флаги.

Примечание

Следующие идентификаторы не определены в общедоступном файле заголовка. Необходимо использовать шестнадцатеричное значение или #define идентификаторы. Например, чтобы использовать ILOT_UNINSTALL необходимо включить #define ILOT_UNINSTALL 0x00000001 в код.

Значение Значение
ILOT_UNINSTALL
0x00000001
То же, что и ILOT_DISABLED.
ILOT_DEFPROFILE
0x00000002
Задает указанный макет или подсказку в качестве элемента по умолчанию.
ILOT_NOAPPLYTOCURRENTSESSION
0x00000020
Параметр сохраняется, но не применяется к текущему сеансу.
ILOT_CLEANINSTALL
0x00000040
Отключает все текущие раскладки клавиатуры и текстовые службы.
ILOT_DISABLED
0x00000080
Отключает указанную раскладку клавиатуры и службу текста.

Возвращаемое значение

Код возврата Описание
TRUE
Функция выполнена успешно.
FASE
Произошла неизвестная ошибка.

Комментарии

Строковый формат списка макета:

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

Строковый формат списка текстовых профилей службы:

<LangID 1>:{xxxxxxx-xxxx-xxxx-xxxx-xxxxx}{xxxxxx-xxxx-xxxx-xxxx-xxxxxxx};

Ниже приведен пример значения параметра psz :

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

Примеры

Библиотека импорта, определяющая эту функцию, отсутствует, поэтому необходимо получить указатель на эту функцию с помощью LoadLibrary и GetProcAddress. В следующем примере показано, как получить указатель на эту функцию.

Примечание

Неправильное использование LoadLibrary может поставить под угрозу безопасность приложения, загрузив неправильную библиотеку DLL. Сведения о том, как правильно загружать библиотеки DLL с разными версиями Microsoft Windows, см. в статье Dynamic-Link Library Search Order .

typedef HRESULT (
  WINAPI *PTF_ INSTALLLAYOUTORTIPUSERREG)(LPCWSTR pszUserReg, 
  LPCWSTR pszSystemReg, 
  LPCWSTR pszSoftwareReg, 
  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_ INSTALLLAYOUTORTIPUSERREG pfnInputLayoutOrTipUserReg;
    
    pfnInputLayoutOrTipUserReg = (PTF_ INSTALLLAYOUTORTIPUSERREG)GetProcAddress(hInputDLL, "InputLayoutOrTipUserReg");

    if(pfnInputLayoutOrTipUserReg)
    {
        bRet = (*pfnInputLayoutOrTipUserReg)(pszUserReg, pszSystemReg, pszSoftwareReg, psz, dwFlags);
    }

    FreeLibrary(hInputDLL);
}

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
DLL
Input.dll