代码之家  ›  专栏  ›  技术社区  ›  Dark Star1

在qt4中捕获系统消息的标准方法是什么?

  •  1
  • Dark Star1  · 技术社区  · 15 年前

    我一直在寻找一种在qt4中捕获和检索系统消息的方法,特别是wm_devicechange消息等。我知道如何在C但可以找到任何关于如何在第4季度的结论性文本。 提前谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Xenakios    15 年前

    例如,在您的主窗口子类中研究实现winEvent()方法。

    #include "Windows.h"
    #include "Dbt.h"
    
    bool MainWindow::winEvent(MSG *message, long *result)
    {
        if (message->message==WM_DEVICECHANGE)
        {
            ui->plainTextEdit->appendPlainText("WM_DEVICECHANGE message received");
            if (message->wParam==DBT_DEVICEARRIVAL)
                ui->plainTextEdit->appendPlainText("A new device has arrived");
            if (message->wParam==DBT_DEVICEREMOVECOMPLETE)
                ui->plainTextEdit->appendPlainText("A device has been removed");
        }
        return false;
    }
    

    我刚刚测试了以上的方法,将我的USB摄像机插入到系统中并将其移除,我确实在纯文本编辑中得到了合适的外观输出。当然,您应该在qt文档中看到关于winEvent()方法的更多信息。(有关何时从函数等返回false或true的信息)