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

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

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

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

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

2个回答

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

liangzehong007
liangzehong007 请问能不能说得详细一点呢?我只需要在无窗体的情况下接受一个特定的命令就好了,用不着大量数据。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问