Winapi 右Alt键也会触发左控制键的Windows消息

Winapi 右Alt键也会触发左控制键的Windows消息,winapi,keyboard-events,Winapi,Keyboard Events,在win32消息处理程序中,我希望能够处理左右Alt键和控制键。左侧和右侧通过LPRAM的第24位来区分,但当我按下Right Alt时,也会收到一条关于Left Control键的消息(因此Right Alt是“Alt gr”)。是否有办法关闭此行为或以某种方式区分由右Alt键触发的左控制键消息?阅读有关使用 然后调用GetKeyState()并使用VK\u LSHIFTVK\u RSHIFTVK\u LCONTROLVK\u RCONTROLVK\u LMENUVK\u RMENU查看它是否

在win32消息处理程序中,我希望能够处理左右Alt键和控制键。左侧和右侧通过LPRAM的第24位来区分,但当我按下Right Alt时,也会收到一条关于Left Control键的消息(因此Right Alt是“Alt gr”)。是否有办法关闭此行为或以某种方式区分由右Alt键触发的左控制键消息?

阅读有关使用


然后调用
GetKeyState()
并使用
VK\u LSHIFT
VK\u RSHIFT
VK\u LCONTROL
VK\u RCONTROL
VK\u LMENUVK\u RMENU查看它是否被按下。

阅读有关使用


然后调用
GetKeyState()
并使用
VK\u LSHIFT
VK\u RSHIFT
VK\u LCONTROL
VK\u RCONTROL
VK\u LMENU
VK\u RMENU
查看它是否被按下。

我刚刚点击了这个问题,发现键盘语言已经选择了美国国际键盘。切换该选项解决了问题


多亏了

我才找到了这个问题,发现键盘语言已经被美国国际键盘选中了。切换该选项解决了问题


幸亏

不幸的是,这不起作用,也就是说,如果我按right alt,则GetKeyState()报告VK_控件和VK_LCONTROL已关闭。在这种情况下,您可能必须确定键盘布局,并检测左alt键是否映射到控件键,或者类似的内容。不幸的是,这不起作用,也就是说,如果我按right alt,那么GetKeyState()会报告VK_CONTROL和VK_LCONTROL已关闭。在这种情况下,您可能需要确定键盘布局,并检测左alt键是否映射到控制键,或者类似的情况。