按Alt会挂起应用程序

时间:2012-07-24 02:01:56

标签: winapi

我正在编写一个没有菜单的Windows应用程序。每次按Alt键,它都会收到WM_ENTERMENULOOP事件并挂起,直到我按下一个键 我尝试过没有菜单的其他应用程序(如MS .chm文件查看器),它们表现出相同的行为 将事件转发到DefWindowProc或处理它之间没有区别。

如果没有菜单,有没有办法阻止Windows进入菜单循环?或者,有没有办法在收到事件后立即手动退出?

2 个答案:

答案 0 :(得分:2)

如果您要禁用进入菜单循环,请手动处理WM_SYSKEYDOWNWM_SYSKEYUP(不要将它们传递给DefWindowProc)。

此外,您可能希望处理WM_SYSCHAR并返回TRUE此消息,以避免按键发出哔哔声,例如 Alt + SomeKey

答案 1 :(得分:0)

case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
case WM_SYSCHAR:
    return (LRESULT)1;