Как изменить язык раскладки клавиатуры в Windows (c ++) - PullRequest
1 голос
/ 13 марта 2012

Мне нужно изменить язык клавиатуры. с помощью этого кода я могу изменить язык, если в приложении фокус:

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <string>

using namespace std;

#pragma comment(lib, "User32.lib")


int main(int argc, char *argv[])
{
   //0409 - Ingles, 0c0a - Espanhol, 0416 - Portugues
   char *str = "0c0a";//argv[1];
   int i;

    if(EOF != sscanf(str, "%x", &i))
   {
      SendMessage(GetActiveWindow(), WM_INPUTLANGCHANGEREQUEST, 0, i);
   }
   system("PAUSE");
   return EXIT_SUCCESS;
}

но мне нужно определенно изменить язык системной клавиатуры после закрытия приложения или если фокус не установлен в приложении.

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 13 марта 2012

Если вам действительно необходимо изменить раскладку клавиатуры пользователя, вы можете использовать следующие функции: GetKeyboardLayoutName () и LoadKeyboardLayout () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...