发送到HWND_BROADCAST的邮件会转到其他桌面吗?

时间:2009-05-23 01:25:59

标签: windows messages

我正在尝试确定HWND_BROADCAST如何运作的一些细节。不幸的是,MSDN没有这个值的特定页面;它只是在其他几篇文章中提到过,例如SendMessagePostMessage的文章。

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

最糟糕的情况我可以写一些代码来根据经验进行测试,但是有没有人碰巧知道答案呢?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

如果来自较低权限的进程,Vista将阻止将邮件传递到顶级窗口,您应该关注它。