在 GetMessage 循环中未接收WM_COMMAND
Not receiving WM_COMMAND in GetMessage loop
有人可以解释为什么我在 GetMessage 循环中从未收到WM_COMMAND
消息吗?
我已经检查过,WndProc 正在收到WM_COMMAND
消息,所以我很困惑为什么这不起作用。
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
if (msg.message == WM_COMMAND)
{
// This never happens:
MessageBox(NULL, "WM_COMMAND", "WM_COMMAND", MB_OK);
}
}
操作系统: 视窗 8
因为WM_COMMAND是用SendMessage()发送的。 直接调用窗口过程。 只有使用 PostMessage() 发布的消息才会添加到队列中,并由 GetMessage() 检索。
您可以在像 Spy++ 这样的实用程序中看到这一点,它注释了使用 P 发布的消息和用 S 发送的消息。
相关文章:
- netcat command in c++
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- Poloniex API "Invalid command" c++ libcurl
- "WM" C++是什么意思?
- 如何使用键盘的特殊键,如Command、Shift、Alt、Tab或C/C++程序中的功能键
- 从系统("command") (C++) 设置变量
- Google Assistant SDK (C++) - Broadcast Command
- :<command-line>0:3:警告:ISO C++11 要求宏名称后有空格
- Command Line Arguments wxCmdLineArgsArray in wxWidgets
- 如何修复"/bin/sh: bc: command not found"
- C++链接器错误 ( "Linker command failed with exit code 1" )
- Ssh command from Qt
- 如何在Xcode中修复'sh: brew: command not found'?
- 字符串问题中的系统( "command" ) 字符串
- Xcode 8.3 command line C++
- 什么是窗口最大化/最小化/恢复的WM Windows消息
- MySQL 异常"connection lost during query"、"MySQL server has gone away"和"command out of sync"
- QT创建者简单的C 程序来自IDE,但不能从Command LNE运行
- 在 Eclipse 中使用 GDB 时出错:"Command '-list-features' is timed out"
- 创建类对象时,我得到"error: linker command failed with exit code 1"