int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
a.installNativeEventFilter(&w);
return a.exec();
}
在类中继承QAbstractNativeEventFilter ,实现 virtual bool nativeEventFilter(const QByteArray &eventType, void message, long result) override 接口
代码如下:
//处理windows消息
bool MainWindow::nativeEventFilter(const QByteArray &eventType, void *message, long *)
{
if(eventType == "windows_generic_MSG" || eventType == "windows_dispatcher_MSG")
{
MSG* pMsg = reinterpret_cast<MSG*>(message);
if(pMsg->message == WM_DEVICECHANGE) //消息
{
//TODO
}
}
return false;
}