来自 GetMessage 的 Windows 消息 9
Windows message 9 from GetMessage?
编辑:删除我粘贴在这里的代码。我的代码中的错误导致了所描述的行为(在 switch 语句中缺少break
(。
在处理来自GetMessage
的消息的switch
语句中,我扔了几条没有定义别名的消息的整数值(使用我在这里找到的列表:http://www.mazama.net/scheme/v12/w32message.scm(,如果收到这些消息之一,就会弹出消息框。我的期望是,未命名的消息只是被弃用,永远不会出现。
我还尝试了一些WM_ACTIVATE
的代码,如果我点击它,这些代码应该最小化窗口。我搞砸了一些东西,所以窗口一打开就最小化了,但这不是把我带到这里的原因。一旦窗口打开并最小化,就会弹出消息框,告诉我 Windows 发送了消息 9。如果我关闭它,消息框会再次弹出。
所以这让我想知道,有谁知道是什么事件触发了该消息?或者,就此而言,GetMessage 返回的任何没有别名的整数值?我发现列出Windows消息的所有内容都省略了与我上面发布的链接相同的数字。
在公共头文件中列出的低编号消息很可能是已弃用的 Windows 3.1(或更早版本(消息,这些消息是为了兼容性而保留的(或者因为没有人认为删除它们足够重要Microsoft(。
您可以在各种Windows替代项目(如Wine或ReactOS(的源代码中找到它们的线索。事实上,从 ReactOS 标头中:
#define WM_SETVISIBLE 0x00000009
这似乎是WM_SHOWWINDOW
消息的先驱,并且与相同的参数同时发送。
我还在新闻组线程中找到了一个关于消息0x0004
的讨论,甚至 ReactOS 似乎也不知道。在那里,消息被描述为WM_SIZEWAIT
但没有关于其功能的线索。
简而言之,这些消息未被记录是有原因的 - 您可能正在编写的任何软件都不需要或使用它们,您应该简单地忽略它们。
- 通过JNA发送用户定义的Windows消息
- ROS2 COLCON构建未在Windows中显示任何错误消息
- 我们是否可以使用 FireBase 云消息传递来发送或接收消息,或者在 Windows 桌面/控制台或 Linux 控制
- 什么是窗口最大化/最小化/恢复的WM Windows消息
- 为什么Zeromq PGM多播未接收多播消息?(C ,Windows)
- 卡住了Windows.h的工作,直到编译之前,没有错误消息
- 注册以在 MFC 中发出 Win32 事件信号时接收 Windows 消息
- 在控制台应用程序中处理空的windows消息队列
- 处理Windows消息,以便我的应用程序正确响应
- 如何将C/C++printf()消息重定向到windows电话日志系统
- 如何在Windows中进行正确的顺序异步消息处理
- 如何使用Boost进程间消息队列for Windows
- 如何在windows服务中显示启动错误消息
- 相对于 3D 应用程序中的 Windows 消息循环的计时错误
- infine windows消息循环-c++
- Windows 2008 R2中缺少多播消息
- EDSDK消息循环在Windows 8.1下不起作用
- 未收到C++Windows异步IO命名管道的第一条消息
- 如何将消息从一个 Windows 控制台应用程序发送到另一个应用程序
- 使用Windows中另一个进程的事件循环向Qt应用程序发送退出消息