我正在编写一个没有菜单的Windows应用程序。每次按Alt键,它都会收到WM_ENTERMENULOOP事件并挂起,直到我按下一个键 我尝试过没有菜单的其他应用程序(如MS .chm文件查看器),它们表现出相同的行为 将事件转发到DefWindowProc或处理它之间没有区别。
如果没有菜单,有没有办法阻止Windows进入菜单循环?或者,有没有办法在收到事件后立即手动退出?
答案 0 :(得分:2)
如果您要禁用进入菜单循环,请手动处理WM_SYSKEYDOWN
和WM_SYSKEYUP
(不要将它们传递给DefWindowProc
)。
此外,您可能希望处理WM_SYSCHAR
并返回TRUE
此消息,以避免按键发出哔哔声,例如 Alt + SomeKey
答案 1 :(得分:0)
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
case WM_SYSCHAR:
return (LRESULT)1;