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

Вниз

как узнать есть ли данный язык не переключая раскладки?   Найти похожие ветки 

 
Novichek ©   (2002-11-11 20:00) [0]

есть способ узнать это переключив раскладку к примеру так:

if LoadKeyboardLayout("00000419",KLF_ACTIVATE)=0
then ShowMessage("Русский язык не установлен");

а как узнать не переключая ее?


 
Феу ©   (2002-11-11 20:19) [1]

Можт быть GetKeyboardLayoutList? - Не знаю, не пробовал, врать не буду.


 
Novichek ©   (2002-11-11 20:32) [2]

и еще вопрос: как узнать какая раскладка в данном окне сейчас включена?


 
Jeer ©   (2002-11-11 20:33) [3]

Registry проверяй
HKCU\Control Panel\International
Locale
и
KeyBoard Layout


 
Novichek ©   (2002-11-11 20:36) [4]

Jeer ©
а через WinAPI?


 
Jeer ©   (2002-11-11 20:59) [5]

Интересно и откуда ОНА по твоему узнает об инсталляции того или иного языка ?


 
Novichek ©   (2002-11-11 21:00) [6]

в общем делаю так:

var
arr:array[0..5] of HKL;
q:integer;
begin
GetKeyboardLayoutList(6,Arr);
for q:=0 to 5 do
listbox1.Items.Add(inttostr(arr[q]));
end;

первые цифры это установленные языки, а как отсеять все остальное не нужное?


 
Jeer ©   (2002-11-11 21:01) [7]

GetLocaleInfo(..)

Как думаешь, откуда для нее инфа береться ? :))


 
Novichek ©   (2002-11-11 21:04) [8]

Jeer © (11.11.02 21:01)
а через GetKeyboardLayoutList?


 
Novichek ©   (2002-11-11 21:13) [9]

все, уже нашел. остался второй вопрос:
как узнать какая раскладка в данном окне сейчас включена?


 
Jeer ©   (2002-11-11 21:21) [10]

Разберешься, надеюсь.

function ChangeLayout_(LANG: Integer): Boolean;
var
Layouts: array [0..16] of HKL;
i, Count: Integer;
begin
Result:=False;
Count:=GetKeyboardLayoutList(High(Layouts)+1, Layouts)-1;
for i:=0 to Count do if (LoWord(Layouts[i]) and $FF) = LANG then
Result:=ActivateKeyboardLayout(Layouts[i], 0)<>0;
end;


 
Jeer ©   (2002-11-11 21:27) [11]

GetKeyboardLayout


 
Novichek ©   (2002-11-12 18:41) [12]

еще вопрос: а как зная HKL вытащить буквенное обозначение раскладки, например En, Ru.



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
14-86105
KSergey
2002-12-04 15:18
2002.12.26
Настройка прав доступа к свойствам IE


1-85927
SONY
2002-12-15 12:45
2002.12.26
как послать сообщение используя mailslot


1-85940
Essense
2002-12-17 15:44
2002.12.26
Canvas.TextOut


14-86157
AM
2002-12-06 11:28
2002.12.26
Может кто-нибудь знает....


1-86015
MaXie
2002-12-15 11:55
2002.12.26
ООП - достучаться до небес!