【发布时间】:2014-07-21 20:34:53
【问题描述】:
我想在 WinAPI 中向窗口发送一条消息,在其他线程中创建,然后等待处理这条消息。
这可能吗?提前致谢。
【问题讨论】:
标签: c multithreading winapi process message
我想在 WinAPI 中向窗口发送一条消息,在其他线程中创建,然后等待处理这条消息。
这可能吗?提前致谢。
【问题讨论】:
标签: c multithreading winapi process message
使用SendMessage() 向窗口发送消息。
SendMessage() 阻塞调用线程,直到消息被传递并由目标窗口的消息调度程序处理。
来自SendMessage()'s documentation:
将指定的消息发送到一个或多个窗口。 SendMessage 函数调用指定窗口的窗口过程,直到窗口过程处理完消息才返回。
【讨论】:
PostMessage 并使用自定义消息与GUI 进行通信更安全...只是一个想法...
SendMessageTimeout 可能更可取?不过,鉴于 OP 的要求,我会直接选择 SendMessage。
Event Objects、Mutexes、Critical sections 等。不过,我没有那么有经验,可能缺少一些东西。 OPs 的问题不是很清楚,但我认为他会被他的方法烧死......