Удалить раскладку клавиатуры (С++)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Vladislav, 17 Sep 2011.

  1. Vladislav

    Vladislav New Member

    Joined:
    21 Jun 2011
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Пишу прогу, которая будет нажатием одной кнопочки добавлять мне белорусскую (в моём случае, в идеале можно для любой написать) раскладку в указанное окно (которое ищем и выбираем). С этой частью задачи проблем особых не было, но появилась другая: было бы неплохо удалять лишнюю раскладку на место нажатием другой кнопочки либо по выходу из проги. И вот тут я начинаю тупить...
    Код поиска окна и прочее второстепенны, посему привожу код собственно добавления раскладки:
    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);
    }
    Вобщем-то, посылаем окну запрос на изменение языка, а оно, не найдя такового живым, его добавляет. А вот как сие деяние откатить - ума не приложу.
    Подскажите, если кто знает и если это вообще возможно. Ибо гугл мне что-то совсем в этом не помог.
    К слову, после перезагрузки прога, в окно которой добавляли язык, не забывает его, тобишь лишняя раскладка остаётся. Никак не поборю... :(