我一直在寻找一种在Qt4中捕获和检索系统消息的方法,特别是WM_DEVICECHANGE消息等。我知道如何在C#中,但可以找到关于如何在Qt4中的任何结论性文本。 提前谢谢..
答案 0 :(得分:1)
比如在MainWindow子类中实现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的信息)