Показать сообщение отдельно
  #2  
Старый 13.05.2009, 18:25
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Как вариант, можно сделать что-то вроде этого :
Код:
function SetActiveKeyboardLayout(Mode : integer) : Boolean;
//Переключение клавиатуры.
//Mode:  =0 - Рус, =1 - Лат, =2 - Укр
var
  Kbd: HKL;
begin
  Result:=FALSE;
  Kbd:=0;
  if Mode<=0 then Kbd:=LoadKeyboardLayout('00000419', 0);  //RU
  if Mode=1 then  Kbd:=LoadKeyboardLayout('00000409', 0);  //Lat
  if Mode>=2 then Kbd:=LoadKeyboardLayout('00000422', 0);  //Ukr
  if Kbd<>0 then begin
     ActivateKeyboardLayout(Kbd,0);        
     Result:=TRUE;
  end;
  {
  Идентификатор   Пояснение
  037     EBCDIC.
  437     MS-DOS (США).
  500     EBCDIC "500V1".
  708     Арабская (ASMO 708).
  709     Арабская (ASMO 449+, BCON V4).
  710     Арабская (Transparent Arabic).
  720     Арабская (Transparent ASMO).
  737     Греческая (ранее 437G).
  775     Балтийская.
  850     MS-DOS многоязыковая (Latin I).
  852     MS-DOS восточноевропейская (Latin II).
  855     Кириллица IBM.
  857     Турецкая IBM.
  860     MS-DOS (Португалия).
  861     MS-DOS (Исландия).
  862     Еврейская.
  863     MS-DOS (Французская Канада).
  864     Арабская.
  865     MS-DOS скандинавская.
  866     MS-DOS русская.
  869     Современная греческая IBM.
  874     Тайская.
  875     EBCDIC.
  932     Японская.
  936     Китайская (КНР, Сингапур).
  949     Корейская.
  950     Китайская (Тайвань, Гонконг).
  1026    EBCDIC.
  1200    Unicode (BMP или ISO 10646).
  1250    Windows 3.1 (Восточная Европа).
  1251    Windows 3.1 (Кириллица).
  1252    Windows 3.1 США (ANSI).
  1253    Греческая Windows 3.1.
  1254    Турецкая Windows 3.1.
  1255    Еврейская.
  1256    Арабская.
  1257    Балтийская.
  1361    Корейская (Johab).
  10000   Macintosh латинская.
  10001   Macintosh японская.
  10006   Macintosh греческая I.
  10007   Macintosh кириллическая.
  10029   Macintosh Latin 2.
  10079   Macintosh (Исландия).
  10081   Macintosh турецкая.
  
  См. также
  
  GetACP, GetCPInfo, GetOEMCP.
  }

end;

Ответить с цитированием