当前位置: 代码迷 >> QT开发 >> 开贴一问, Qt如何接收DLL发送过来的自定义消息
  详细解决方案

开贴一问, Qt如何接收DLL发送过来的自定义消息

热度:33   发布时间:2016-04-25 03:23:46.0
开贴一问, Qt怎么接收DLL发送过来的自定义消息
HWND 句柄已经给了DLL了,如何接收DLL发送的WM_USER + 777的自定义消息  发送的时候使用的标准API标准参数WPARAM,LPARAM 
问题是在Qt中使用接收这些参数,coustEvent 什么的都不好使呀,接收不到
------解决方案--------------------
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qt_windows.h>
#include <QDebug>

bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, long *result)
{
    if (eventType == "windows_generic_MSG")
    {
        PMSG msg = (PMSG)message;
        if (msg->message == WM_USER + 777)
        {
            qDebug() << "Hello World";
            qDebug() << msg->wParam;   // 10
            qDebug() << msg->lParam;   // 20
        }
    }
    return false;
}

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    PostMessage((HWND)this->winId(), WM_USER + 777, 10, 20);
}
  相关解决方案