Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-85977
Эдик Дятлов
2002-12-15 19:07
2002.12.26
Двусвязанные и односвязанные списки


1-85990
roman_tutov
2002-12-16 09:54
2002.12.26
Экспорт данных в Exel


1-85973
Black Tiger
2002-12-15 15:05
2002.12.26
Файлы


1-86019
kex86
2002-12-16 15:00
2002.12.26
Как убрать приложение из списка процессов в ХР (Ctrl-alt-delete)


8-86037
AlexSM
2002-09-09 08:40
2002.12.26
Изменение разиеров Bitmap





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский