我试图根据官方网站上提供的解释,在我的Qt应用程序中实现nativeEventFilter拦截Windows消息:
https://doc.qt.io/qt-5/qabstractnativeeventfilter.html#details
但是,他们没有提到应该定义eventType
的位置/方式,也没有提供任何提示。因此,windows_dispatcher_MSG
在我的程序中显然是未定义的。
答案 0 :(得分:1)
举了一个小例子:
bool Foo::nativeEventFilter(const QByteArray & eventType, void * message, long * result)
{
static const QByteArray windowsDispatcherMSG("windows_dispatcher_MSG");
if (eventType != windowsDispatcherMSG)
return false;
const MSG * m = static_cast<MSG*>(message);
if (m->message != WM_DEVICECHANGE)
return false;
/** ...do something... **/
}
MSG