Qt中IPC(进程间通信)的方式一:WM_COPYDATA消息

本文介绍了Windows中的WM_COPYDATA消息如何用于Qt的进程间通信。讲解了WM_COPYDATA消息的参数和COPYDATASTRUCT结构体,以及在Qt中通过nativeEventFilter和nativeEvent方法处理自定义消息的方法。
摘要由CSDN通过智能技术生成

数据复制消息WM_COPYDATA是Windows中一个特殊的消息,通过这个消息能够在进程间传递数据。

WM_COPYDATA消息含两个參数WPARAM wParam和LPARAM  lParam,WPARAM和LPARAM是匈牙利命名法,历史更迭,WPARAM指32位整形变量,LPARAM指32为整形变量指针。发送WM_COPYDATA时,wParam赋值为发送此消息的窗体,lParam则指向一个COPYDATASTRUCT结构:

  typedef struct{
                ULONG_PTR   dwData;
                DWOED   cdData;
                PVOID   lpData;
        };

 

        该结构体中,dwData能够使随意值,lpData是须要发送给窗体所在进程的数据地址,cbData是lpData发送数据的字节数。

 SendMessage(
       hwndto,              //目标窗体句柄
       (UINT)WM_COPYDATA,   //指定发送的数据
       (WPARAM)hwndfrom,    //将源窗体句柄做WPARAM參数
       (LPARAM)&cds         //将COPYDATASTRUCT做LPARAM參数
   );

2. Qt中处理自定义消息:(前提是开启了事件循环QEventLoop)

方式一:nativeEventFilter

使用installNativeEventFilter注册自定义事件过滤器,继承QAbstractNativ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值