我需要更改键盘语言。 与此代码我可以在重点应用,如果更改语言:如何更改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;
}
,但我需要绝对更改系统键盘语言,之后的应用有或 如果应用程序没有设置焦点。
任何可以帮助我吗?
我怀疑这是可能的。想象一下,如果另一个应用可以做同样的事情 - 谁会赢?它不是控制系统语言的应用程序,而是用户。 – Skizz 2012-03-13 14:06:36
看到[这个问题](http://stackoverflow.com/q/9669352/588306)发布之前不到24小时 – Deanna 2012-03-13 14:07:19
我甚至不确定“系统键盘语言”存在;它看起来像每个进程的设置。顺便提一句,'WM_INPUTLANGCHANGEREQUEST'是Windows(OS)发出的一条消息,用于通知程序用户想要改变输入语言;它不是程序向其他程序发出请求的受支持方式。 – MSalters 2012-03-13 14:22:46