正在向不存在的窗口发送消息
Is sending message to a non-existent window Ok?
我有一个发送更新消息到窗口的线程,我使用::SendMessage()
和::PostMessage()
api。
我进入和退出多个对话框,并通过窗口句柄(m_hWnd
)注册我当前在线程中的对话框。如果我完全退出,主应用程序窗口将无法处理这些消息。因此,我没有注册那个窗口。此时,线程将拥有一个现在不存在的旧窗口的句柄。
如果它向不存在的窗口发送消息是可以的吗?我认为它应该不会造成任何伤害,但我想再检查一下。
不可以,不能向已删除的窗口发布消息。
我不能保证在上一个租户离开后,不会有人在那个地址开店。
如果你使用NULL
窗口句柄,你将发布一个线程消息到当前线程消息队列。SendMessage
,我可以谷歌应该是一个无操作。
可能是无害的。
现在,我们变得棘手了:
在特定情况下,这并不重要,前提是假定应用程序表现良好。
- 像
WM_NULL
这样的消息不应该发生任何事情。 - 使用RegisterWindowMessage在应用程序中全局注册的窗口消息,如果你能保证在此期间创建的应用程序窗口不会被阻塞。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- 输出窗口中消息的可视化工作室源
- 为什么初始化 Wintab 扩展后没有收到WT_PACKETEXT窗口消息?
- 与WM_DPICHANGED消息一起发送的建议窗口大小太大
- 如何处理窗口的消息?
- 发送到另一个窗口的鼠标移动消息不执行任何操作
- 打印窗口发送消息WM_PAINT或WM_PRINT
- 如何处理来自多个窗口的消息
- C++/CLI 项目如何在控制台窗口中显示消息
- 向Qt窗口发布消息不会生效
- 什么是窗口最大化/最小化/恢复的WM Windows消息
- 查找窗口( ... ) 未"查找"创建的消息窗口
- 如何让 wndproc 处理发送到多个窗口的消息
- 如何在Qt中弹出消息窗口
- 在弹出窗口中管理CEF客户端区域的窗口消息
- 仅显示消息窗口中的电源状态更改通知
- 如何在控制台应用程序中使用仅消息窗口接收消息
- Windows:当我从本机代码回调到托管代码时,将显示“仅消息”窗口