Пишу прогу, которая будет нажатием одной кнопочки добавлять мне белорусскую (в моём случае, в идеале можно для любой написать) раскладку в указанное окно (которое ищем и выбираем). С этой частью задачи проблем особых не было, но появилась другая: было бы неплохо удалять лишнюю раскладку на место нажатием другой кнопочки либо по выходу из проги. И вот тут я начинаю тупить... Код поиска окна и прочее второстепенны, посему привожу код собственно добавления раскладки: Code: void AddLangToProc (HWND hWnd) { AnsiString langID = IntToHex(MAKELANGID(LANG_BELARUSIAN,SUBLANG_DEFAULT),8); HKL Layout; Layout = LoadKeyboardLayout(langID.c_str(),0); SendMessage(hWnd,WM_INPUTLANGCHANGEREQUEST,1,(long) Layout); } Вобщем-то, посылаем окну запрос на изменение языка, а оно, не найдя такового живым, его добавляет. А вот как сие деяние откатить - ума не приложу. Подскажите, если кто знает и если это вообще возможно. Ибо гугл мне что-то совсем в этом не помог. К слову, после перезагрузки прога, в окно которой добавляли язык, не забывает его, тобишь лишняя раскладка остаётся. Никак не поборю...