Windows 发送到HWND_广播的消息是否会发送到其他桌面?

Windows 发送到HWND_广播的消息是否会发送到其他桌面?,windows,messages,Windows,Messages,我试图确定HWND\u广播工作原理的一些细节。不幸的是,MSDN没有针对该值的特定页面;它只是在其他几篇文章中顺便提到的,比如关于和的文章 我特别想知道的是发送到HWND_BROADCAST的消息是否由与同一窗口站中的其他桌面相关联的窗口接收。文件说,这条信息将被发送到“系统中的所有顶级窗口”,但很明显,严格来说这不是真的。例如,我确信他们不会在其他登录会话(例如在终端服务器上)中转到windows。我的猜测是,它们至少局限于调用进程的窗口站,但我不知道它们是否也局限于调用线程的桌面(每个线程都

我试图确定
HWND\u广播
工作原理的一些细节。不幸的是,MSDN没有针对该值的特定页面;它只是在其他几篇文章中顺便提到的,比如关于和的文章

我特别想知道的是发送到
HWND_BROADCAST
的消息是否由与同一窗口站中的其他桌面相关联的窗口接收。文件说,这条信息将被发送到“系统中的所有顶级窗口”,但很明显,严格来说这不是真的。例如,我确信他们不会在其他登录会话(例如在终端服务器上)中转到windows。我的猜测是,它们至少局限于调用进程的窗口站,但我不知道它们是否也局限于调用线程的桌面(每个线程都与一个桌面关联)


最糟糕的情况是,我可以编写一些代码来进行经验测试,但有人已经知道答案了吗?

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

Vista将阻止发送到顶级windows的消息。如果消息来自较低权限的进程,您应该注意它。

我没有测试过这一点,但我相信您的话。谢谢