概述
步骤:
进程A 通过WindowAPI找到需要传递信息的窗口。
然后通过windowAPI发送自定义的消息(其实本质上还是window操作系统定义的消息结构,只不过其中有个字段的值被设置成了自己特有的值:const ULONG_PTR CUSTOM_TYPE_SEND_WEBVIEWER = 10007;)这样在发送带有需要传递的信息。
进程B通过Qt已经实现的 nativeEvent()函数来捕获window系统发送过来的消息。
然后通过对消息的筛选(即之前自定义消息中的特定字段的值的判断ULONG_PTR CUSTOM_TYPE_SEND_WEBVIEWER = 10007来确实是否是自己想要的信息),获取到想要信息后,就直接对信息处理,完成想要的功能。
进程A:
#ifdef Q_OS_WIN
#pragma comment(lib, "user32.lib")
#include <qt_windows.h>
#include "windows.h"
#endif
const ULONG_PTR CUSTOM_TYPE_SEND_WEBVIEWER = 10007;
//
char strId[256];
q2s(qstrId).copy(strId , qstrId.size(),0);
strId[qstrId.size()]= '