Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как определить язык ввода?


Автор: SerK 12.9.2008, 14:45
Как определить язык ввода?
Задача состоит в следующем, нужно значала запомнить раскладку, потом програмно перейти на другой язык, после определенных действий вернуться к первоначальной раскладке.

Автор: volvo877 12.9.2008, 15:03
Поиск по форуму сделай по GetKeyboardLayout ...

Автор: ИванМ 12.9.2008, 19:26
Чтобы определить язык ввода:
        
Цитата

char lang[256];
GetKeyboardLayoutName(lang);

Чтобы переключиться на другой язык:
Цитата

    SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,INPUTLANGCHANGE_FORWARD,0);


Например, чтобы переключиться с английского на русский, пиши так:

Цитата

char lang[256];
 GetKeyboardLayoutName(lang);
    if(String(lang).ToInt()!=419)
        SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,INPUTLANGCHANGE_FORWARD,0);


Только предупреждаю, что это непрофессионально. Например, если больше двух языков, то такое я думаю не получится. Смотри в MSDN за подробностями.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)