Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-14047
Wild Sam
2002-08-22 18:53
2002.09.05
Друзья! При вызове метода Open TExcelApplication.Workbooks вы-


1-14130
hotKEY
2002-08-22 09:27
2002.09.05
Как считать и преобразовать в строковый вид параметр Hotkey?


1-14165
Eraice
2002-08-24 23:09
2002.09.05
TRichEdit: вставка текста


4-14325
Vvedensk
2002-07-03 17:48
2002.09.05
Как узнать цвет пикселя....


14-14243
iRum
2002-08-09 23:43
2002.09.05
Есть работа за $$$




   Наверх