WPF如何在没有窗体句柄只有托盘图标情况下跨线程接收信息?

一个WPF程序,最小化的时候,不显示在任务栏上,仅仅保留一个托盘图标。用户点击托盘图标,重新显示窗体。

如何跨线程对这个程序发送信息?当最小化时不显示在任务栏时是无法通过FindWindow找到窗体句柄的。

我试过用PostMessage,RegisterWindowMessage,并且将参数设置为HWND_BROADCAST,但是仅能在窗体显示的情况下获取到消息。当窗体最小化并且不在任务栏显示时,不能接收消息。

“如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自 身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。”这句话是不包括最小化同时不显示在任务栏的窗体???****_

没有窗体,可以application.run()启动一个消息循环。
也可以直接用wcf通讯,不用消息。后者更好,尤其是考虑发送大量数据。

可参考:
http://my.oschina.net/ypimgt/blog/91606