C++ WinAPI LoadKeyboardLayout();

C++ WinAPI LoadKeyboardLayout();,c++,winapi,keyboard-layout,C++,Winapi,Keyboard Layout,我用VS2010编译dll,但在更改键盘布局时遇到问题。我正在运行Windows7 GetKeyboardLayout(0); //Returns previous layout LoadKeyboardLayout("00000409", KLF_ACTIVATE); GetKeyboardLayout(0); //Returns 04090409 (English layout) 但是布局没有改变。有人可能会说我做错了什么,但如果我将“00000409”更改为任何其他语言ID,例如俄语“0

我用VS2010编译dll,但在更改键盘布局时遇到问题。我正在运行Windows7

GetKeyboardLayout(0); //Returns previous layout
LoadKeyboardLayout("00000409", KLF_ACTIVATE);
GetKeyboardLayout(0); //Returns 04090409 (English layout)
但是布局没有改变。有人可能会说我做错了什么,但如果我将“00000409”更改为任何其他语言ID,例如俄语“00000419”,布局将完全改变。问题只出现在英文布局上

当我使用
ActivateKeyboardLayout
时,当所有布局都切换为ok但英语不起作用时,同样的问题也会出现


这可能是什么问题

这只虫子让我很开心。重启后一切正常

这只虫子让我很开心。重启后一切正常

加载KeyboardLayout后是否尝试调用GetLastError?
但布局已更改
。很好,没问题?GetLastError()在这两种情况下都是0。此外,布局前的
GetKeyboardLayout
布局后的F0C00422布局0409049错误0。所以它已经改变了,但实际上没有。你有没有尝试在LoadKeyboardLayout之后调用GetLastError?
但是布局已经改变了。很好,没问题?GetLastError()在这两种情况下都是0。此外,布局前的
GetKeyboardLayout
布局后的F0C00422布局0409049错误0。所以它已经改变了,但实际上没有。