![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| YourLastSong |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Здравствуйте, каким образом можно узнать, какая раскладка клавиатуры стоит у пользователя в данный момент?
Насколько я понял, делать это надо при помощи функции GetKeyboardLayout. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx В качестве единственного параметра функции передаю значение 0, т.к. мне необходимо узнать раскладку именно для текущего потока. Читаем MSDN:
Следовательно, делаю так:
Теперь смотрим сюда: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx Для русской раскладки значение должно быть равно 0x0419. Следовательно, делаем проверку в программе:
Однако условие будет выполняться в любом случае, даже если раскладка клавиатуры в данный момент стоит англ. Кстати, когда я делаю вот так
то на экран в любом случае выводится 04190419, несмотря на то, какая именно раскладка сейчас стоит. Что я делаю не так? |
||||||||
|
|||||||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Все правильно и все работает на ура. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 5 Всего: 64 |
Подтверждаю: для английской раскладки lang = 1033, для русской - 1049. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| YourLastSong |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
В консольном приложении проверяли или как?
Меня просто именно консольное приложение интересует. |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 5 Всего: 64 |
Хм... В консоли не работает. И похоже, решения нет...
http://www.rsdn.ru/forum/winapi/658469.hot.aspx -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
тебе чисто консольное интересует или же все таки приложение multithreaded ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| YourLastSong |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.12.2011 Репутация: нет Всего: нет |
Честно говоря, не совсем понял вопроса. Приложение консольное, однако имеет неск. потоков, которые создаю самостоятельно при помощи функции _beginthread. Разве это имеет какое-то значение в данном случае вообще? Что вы подразумеваете под выражением "чисто консольное приложение"? Это сообщение отредактировал(а) YourLastSong - 24.12.2011, 15:19 |
|||
|
||||
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Есть одна идея но она тебе не понравится... Найти по названию окна ... Окошко с отображением раскладки.... Скопировать рисунок с этого окошка и сравнивать с эталонным изображением ......
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |