Смена раскладки в консольном приложении

Понадобилось мне сейчас для одной консольной программки установить язык ввода по умолчанию английский. Способ для оконного приложения не подходит, поиск на просторах инета так же ничего путевого не дал. Пришлось додумывать самому, в итоге вот такой код:

uses Windows, Messages;
.........
function GetConsoleWindow: HWND; stdcall; external kernel32 name 'GetConsoleWindow';
.........
var Layout: HKL;
.........
Layout:= LoadKeyboardLayout('00000409', KLF_ACTIVATE);
SendMessage(GetConsoleWindow(), WM_INPUTLANGCHANGEREQUEST, 0, Layout);

Links: