Alvin.Liang 2016-08-03 14:55 采纳率: 0%
浏览 1223
已结题

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

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

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

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

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

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-08-03 15:16
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真