3

我正在尝试确定如何HWND_BROADCAST工作的一些细节。不幸的是,MSDN 没有这个值的特定页面。它只是在其他几篇文章中顺便提及,例如 forSendMessagePostMessage.

我特别想知道的是发送到HWND_BROADCAST的消息是否被与同一窗口站中的其他桌面关联的窗口接收。文档说该消息将发送到“系统中的所有顶级窗口”,但显然这不能完全正确。例如,我确信他们不会在其他登录会话中进入窗口(例如在终端服务器上)。我的猜测是它们至少仅限于调用进程的窗口站,但我不知道它们是否也仅限于调用线程的桌面(每个线程与单个桌面相关联)。

最坏的情况下,我可以编写一些代码来凭经验进行测试,但是有人碰巧知道答案吗?

4

2 回答 2

3

你是对的。以这种方式发送的消息只会发送到当前登录的 windows 会话/桌面的顶级窗口。他们不会转到任何其他桌面。

于 2009-05-23T01:36:13.623 回答
1

如果消息来自较低特权的进程,Vista 将阻止消息传递到顶级窗口,您应该注意它。

于 2009-05-23T01:49:50.273 回答