qt收发windows消息(不同进程之间)

 时间:2024-10-13 10:27:49

本文介绍不同qt进程间发送windows消息

工具/原料

qt

testDlg1-自定义消息

1、testDlg1还是和“qt收发windo嘛术铹砾ws消息(同进程不同窗口)”中的代码一致。这里注意使用它的发送按钮的功能为了区分不同进程窗口的名称,这里修改一下查找窗口的窗口名为“acceptWnd”

qt收发windows消息(不同进程之间)

2、testDlg2主要用来接收和解析消息

qt收发windows消息(不同进程之间)

2、进入断点调试,发现可以捕畛粳棠奈获到该自定义消息,但是对应的消息体数据值却获取不到。如果在testDlg1的发送函数中添加断点,会发现,在testDlg1中结构体数据对应的指针,与testDlg2中收到的结构体数据对应的指针是相同的,但是数据却未定义。这是因为在同一个进程中,发送消息,同一指针地址对应的数据是相同的。对于不同进程,同一指针地址对应的数据有可能是不同的

qt收发windows消息(不同进程之间)

2、对应发送函数修改如下。发送的消息为WM_COPYDA哌囿亡噱TA,对应的数据为COPYDATASTRUCT类型,其中dwData中设置为用户自定义消息,lpData为发送的数据,cbData为发送数据的长度

qt收发windows消息(不同进程之间)

运行-WM_COPYDATA

1、运行后,可以发现testDlg2的窗体,可以正常接收和解析testDlg1发送的消息

qt收发windows消息(不同进程之间)
  • 怎么解决websocket的延迟和卡顿的问题
  • deepin linux下怎么切换用户
  • 如何使用编辑组策略禁用Windows键快捷方式
  • 如果把按键精灵的前台脚本批量转换为后台脚本?
  • 用易语言编写桌面图标管理(超简单)
  • 热门搜索
    什么时候出高考成绩 阿凡达2什么时候上映 冰箱不制冷是什么原因 三月不知肉味形容什么 什么电影好看 香港什么时候回归 党员的党龄从什么之日算起 cp是什么意思 vvt发动机是什么意思 1966年属什么