Какой язык на данный момент на клавиатуре?

Материал из DRKB

Какой язык на данный момент на клавиатуре?[править | править код]

Используй GetKeyboardLayoutName()


Author: Mikel
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 01953



var
  Form1: TForm1;
  LAYOUT: String;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  RA: Array[0..$FFF] of Char;
begin
  GetKeyboardLayoutName(RA);
  Layout := StrPas(RA);
  if Layout = '00000419' then 
    ShowMessage(' CCCP ')
  else
  if Layout = '00000409' then 
    ShowMessage(' USA ')
  else 
    ShowMessage(' X 3 ' );
end;


Author: Radmin
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 01954



function WhichLanguage: string; 
var 
  ID: LangID; 
  Language: array [0..100] of char; 
begin 
  ID := GetSystemDefaultLangID(); 
  VerLanguageName(ID, Language, 100); 
  Result := String(Language); 
end;


Пример вызова этой функции:


procedure TForm1.Button1Click(Sender: TObject); 
begin 
  Edit1.Text := WhichLanguage; 
end;


Также, для определения активного языка можно воспользоваться функцией GetUserDefaultLangID.


Source: Взято из http://forum.sources.ru
ID: 01955