Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Как узнать, установлен ли в сис-ме какой-либо язык?   Найти похожие ветки 

 
Alex_C ©   (2006-05-19 09:38) [0]

Проблема: при работе с программой для удобства пользователя на некоторых полях надо переключаться на, допустим, русский язык (LoadKeyboardLayout("00000419", KLF_ACTIVATE)), однако перед этим необходимо проверить, а установлен ли данный язык в винде. Как это можно сделать?


 
Elen ©   (2006-05-19 10:45) [1]


> Alex_C

Воспользуйся компонентами Alvas


 
Sergey13 ©   (2006-05-19 10:49) [2]

Я так думаю, что на компьютере, на котором "надо переключаться на, допустим, русский язык" он, язык, скорее всего установлен. 8-)


 
Elen ©   (2006-05-19 11:10) [3]


> Я так думаю, что на компьютере, на котором "надо переключаться на, допустим, русский язык" он, язык, скорее всего установлен. 8-)

Наверное имеется ввиду переключение раскладки программно без нажатия пользователем клавиш при определенных условиях


 
Sergey13 ©   (2006-05-19 11:16) [4]

2[3] Elen ©   (19.05.06 11:10)
Да я понял. Можно наверное проверить. Но вот перед выводом на экран стоит проверять наличие видеокарты или нет? Или наличие клавы - преде вводом?


 
Alex_C ©   (2006-05-19 11:17) [5]

Уточняю ситуацию:
пользователь перешел на поле ввода фамилии. Перед этим все заполнялось на английском языке. Фамилия, если установлен русский язык, должна водится по-русски (как переключать языки я знаю - LoadKeyboardLayout("00000419", KLF_ACTIVATE)), а вот если русского языка нет - то не пытаться переключаться, а то пользователю выдается ошибка , что такого языка в сис-ме не установлено.


 
Elen ©   (2006-05-19 11:19) [6]

Воспользуйся компонентами ALVAS. Это простой вариант. В противном случае пиши на API


 
Alex_C ©   (2006-05-19 11:23) [7]

Вот и хотелось бы узнать, какие ф-ции API за это отвечают, а использовать сторонний компонент в данном случае не хотелось бы.


 
Sergey13 ©   (2006-05-19 11:24) [8]

2 [5] Alex_C ©   (19.05.06 11:17)
>а вот если русского языка нет - то не пытаться переключаться, а то пользователю выдается ошибка , что такого языка в сис-ме не установлено.

Ну так и лови исключение при переключении с выводом соответствующего ругательства.


 
Alex_C ©   (2006-05-19 11:26) [9]


> Ну так и лови исключение при переключении с выводом соответствующего
> ругательства.


Ну в общем то мне это тоже в голову и пришло :)
Просто думаю, что можно все же и программно узнать, есть ли такой язык в сис-ме или нет.


 
Sergey13 ©   (2006-05-19 11:33) [10]

2[9] Alex_C ©   (19.05.06 11:26)
> Просто думаю, что можно все же и программно узнать
Ну так исключение это тоже не удочкой ловится, а программно, как и хотелось. 8-)


 
Elen ©   (2006-05-19 11:35) [11]

В начале программы воспользуйся GetKeyboardLayoutList. Она вернет тебе указатели на раскладки. Далее в цикле загружай все эти раскладки и по GetKeyBoardLayoutName узнавай их названия. Это и будет список установленных языков


 
Thomas Anders   (2006-05-19 13:41) [12]

С помощью функции EnumSystemLocales() можно определить какие языки установлены в системе. Более подробно см. MSDN.



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
2-1147931594
Мурзилка
2006-05-18 09:53
2006.06.04
всплывающие сообщения


15-1147093577
seleman
2006-05-08 17:06
2006.06.04
TMainmenu


2-1148159280
<X>
2006-05-21 01:08
2006.06.04
Получить Index выделеных ячеек.


2-1147686560
Cherman
2006-05-15 13:49
2006.06.04
OpenDialog


2-1147649380
rosl
2006-05-15 03:29
2006.06.04
bat