Здравствуйте, fonarick, Вы писали:
F>char keybd[KL_NAMELENGTH];
F> GetKeyboardLayoutName(keybd);
F> switch(atoi(keybd))
F> //...
В свою очередь поднимаю тему вверх, ибо ничего из вышеприведённого не работает. Пишу свою прожку-переключалку клавиатуры, и такой вот затык с консолью — ни получение текущей раскладки, ни переключение раскладки на другую не работают. С переключением ещё кое-как исхитрился через WM_INPUTLANGCHANGEREQUEST, но вот как определить текущую раскладку — совершенно непонятно. Ни один из вышеприведённых способов не работает — все как один сообщают, что раскладка английская, независимо от того, какая она на самом деле.

Неужто вообще не существует никакого способа это узнать?