Title: Change curent language
To change current language, use LoadKeyboardLayout function.
For example, first parameter 0x0407 is German (standard), 0x0409 is English (U.S.).
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadKeyboardLayout('00000407', KLF_ACTIVATE);
end;