Существует ли встроенный API WinXP / WinXP для изменения локали (в частности, IME)? - PullRequest
1 голос
/ 04 мая 2009

Я ищу API на WinXP для переключения между установленными IME.

Сценарий состоит в том, чтобы иметь возможность подключить языковую клавиатуру (скажем, испанский) и изменить IME, нажав кнопку пользовательского интерфейса (скажем, кнопку с именем испанский)

например. Я подключаю испанскую клавиатуру и нажимаю кнопку пользовательского интерфейса с именем «Испанский». Это должно внутренне изменить IME на испанский, который уже установлен

Спасибо

1 Ответ

1 голос
/ 06 мая 2009

Я пытался изменить локаль / IME (которая попадает под локаль). Я обнаружил, что есть API с именем SystemParametersInfo, который позволяет нам выполнять настройки на системном уровне. В моем случае мне пришлось перейти в Панель управления> Региональные настройки>, а затем переключаться между установленными языками на вкладке Язык. Наконец, это может быть достигнуто программно, как показано в коде:

#include "stdafx.h"
#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{

HKL hLangId = 0;
bool isFine;
DWORD errorCode;

errorCode = GetLastError();

isFine = SystemParametersInfo(SPI_GETDEFAULTINPUTLANG, 0, &hLangId, 0);

errorCode = GetLastError();

HKL spanishLanguage = (HKL) (0x040a0c0a);

isFine = SystemParametersInfo(SPI_SETDEFAULTINPUTLANG, 0, &spanishLanguage, 0);

errorCode = GetLastError();

return 0;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...