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

Вниз

Текущая раскладка клавиатуры   Найти похожие ветки 

 
ASGroup ©   (2002-06-22 23:10) [0]

Как получить текущую раскладку клавиатуры
А потом из неё получить её имя (например "Английский США" ) или Название в системе (типа "00000409")


 
Proton ©   (2002-06-23 04:05) [1]

Вообще текушая берется вот так.
const Lang_RU = $4190419;//68748313
Lang_ENG = $4090409;//67699721
begin
RxSwitch_lang.StateOn := GetKeyboardLayout(GetCurrentThreadId)=LANG_RU;
RxSwitch_caps_lock.StateOn := not GetKeyState(VK_CAPITAL) and 1 = 0;
end;

ну а имя ее вот так (только не ее а текущей)
GetKeyboardLayoutName(
Ну а вообще RTFM


 
Юрий Зотов ©   (2002-06-23 08:10) [2]

Примерно так:


var
S: string;
...
SetLength(S, KL_NAMELENGTH + 1);
if GetKeyboardLayoutName(@S[1]) then
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
if OpenKeyReadOnly("\System\CurrentControlSet\Control\Nls\Locale")
then S := ReadString(S)
else S := ""
finally
Free
end
else S := "";



 
Игорь Шевченко ©   (2002-06-24 09:55) [3]

Или так :

{
HSGetLocaleLanguageName - Определение названия языка Locale, аналогичного тому, который появляется в окне индикатора клавиатуры.
}

{ Для определения языка в NT-системах предпочтительней вызывать Unicode-версию
GetLocaleInfo }
function HSGetLocaleLanguageName (Locale : Cardinal) : String;
var
tmp : array[0..255] of char;
tmpW : array[0..255] of WideChar;
begin
if HSQuerySystemInfo(hsiNTPlatform) then begin
GetLocaleInfoW(Locale, LOCALE_SLANGUAGE, tmpW, SizeOf(tmpW));
Result := WideCharToString(tmpW);
end else begin
GetLocaleInfo(Locale, LOCALE_SLANGUAGE, tmp, SizeOf(tmp));
Result := tmp;
end;
end;

Имя текущей раскладки:

HSGetLocaleLanguageName(LOWORD(GetKeyboardLayout(0)));

С уважением,



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
4-14350
tamerlan311
2002-07-07 00:10
2002.09.05
иконка от определенного типа файла


3-13929
NEV
2002-08-15 14:07
2002.09.05
Лимит на выполнение запроса в ADO


1-14090
ЮРИЙ_К
2002-08-23 13:26
2002.09.05
Загрузить картинку для TRxPopupMenu из ресурса


1-14150
MASTER'ok
2002-08-24 22:55
2002.09.05
Файлы...


3-13881
3asys
2002-08-18 11:25
2002.09.05
NULL в Delphi6