第一步重载函数winEvent(),5.6.0版本是nativeEvent(),如下:
bool Dialog_XXX::nativeEvent(const QByteArray &eventType, void *message, long *result)
{
if (eventType == "windows_generic_MSG")
{
bool bResult = false;
MSG* msg = reinterpret_cast<MSG*>(message);
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)msg->lParam;
if(msg->message == WM_DEVICECHANGE && msg->wParam >= DBT_DEVICEARRIVAL)
{
switch (msg->wParam)
{
case DBT_DEVICEARRIVAL:
/*TODO*/
bResult = true;
break;
case DBT_DEVICEREMOVECOMPLETE:
/*TODO*/
bResult = true;
break;
case DBT_DEVNODES_CHANGED:
/*TODO*/
bResult = true;
break;
default:
/*TODO*/
bResult = false;
break;
}
}
return bResult;
}
else
{
return QWidget::nativeEvent(eventTy