繁体   English   中英

如何在Windows(C ++)中更改语言键盘布局

[英]How can change language keyboard layout in Windows (c++)

我需要更改键盘语言。 使用此代码,我可以更改语言(如果在焦点应用程序中):

#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;
}

但是我肯定需要在应用程序关闭后或如果未在应用程序中设置焦点的情况下更改系统键盘语言。

有什么可以帮助我的吗?

如果确实需要更改用户的键盘布局,则可以使用以下函数: GetKeyboardLayoutName()LoadKeyboardLayout()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM