Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Переключение раскладки клавиатуры для приложения

01.01.2007
{ **** UBPFD *********** by kladovka.net.ru ****
>> Переключение раскладки клавиатуры для приложения
 
Зависимости: Windows
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        21 мая 2002 г.
********************************************** }
 
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; 
 

Пример использования:

ChangeLayout(LANG_RUSSIAN);
ChangeLayout(LANG_ENGLISH);