【发布时间】:2012-07-22 07:29:01
【问题描述】:
我正在编写一个没有菜单的 Windows 应用程序。每次我按下 Alt 时,它都会收到 WM_ENTERMENULOOP 事件并挂起,直到我按下一个键。
我尝试过其他没有菜单的应用程序(例如 MS .chm 文件查看器),它们表现出相同的行为。
将事件转发到 DefWindowProc 或处理它没有区别。
如果没有菜单,有没有办法阻止 Windows 进入菜单循环?或者,有没有办法在收到事件后立即手动退出?
【问题讨论】:
-
您有一个菜单:系统菜单 (
WS_SYSMENU)。并且应用程序不会挂起。菜单循环正在发送消息。 -
这样就进入了系统菜单的菜单循环而不显示?这非常有用。猜猜我将不得不在没有图标的情况下生活。谢谢。
-
如果您在 Alt 后加空格,系统菜单将显示。这种“等待”状态就是为什么消息框有时会卡在不可见状态,直到您再次点击 alt 键。
标签: winapi