diff --git a/DeviceManagement/serialportstatus.cpp b/DeviceManagement/serialportstatus.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8d07a79bc5c9c6896eb1bb7c0f6d1d73daba6353 --- /dev/null +++ b/DeviceManagement/serialportstatus.cpp @@ -0,0 +1,11 @@ +#include "serialportstatus.h" + +SerialPortStatus::SerialPortStatus(QObject *parent) : QObject(parent) +{ + +} + +bool SerialPortStatus::nativeEventFilter(const QByteArray &eventType, void *message, long *result) +{ + +} diff --git a/DeviceManagement/serialportstatus.h b/DeviceManagement/serialportstatus.h new file mode 100644 index 0000000000000000000000000000000000000000..fe88565ba2730385fcd3dfb051691e3991aa89a2 --- /dev/null +++ b/DeviceManagement/serialportstatus.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * @文件名 serialportstatus.h + * @功能 通过继承于QAbstractNativeEventFilter来监测串口热插拔由于windows消息会发给每一个窗口, + * 所以如果打开多个窗或者使用到如QComboBox之类的控件,当串口插入或者拔出时会触发多次事件, + * 在这里我使用的解决方法时传入一个窗口句柄,通过窗口句柄过滤事件,但不知道有没有其它更好的办法。 + * + * @开发者 (作者) + * @时间 2021/11/15 + * @备注 + *****************************************************************************/ +#ifndef SERIALPORTSTATUS_H +#define SERIALPORTSTATUS_H + +#include +#include + +class SerialPortStatus : public QObject, public QAbstractNativeEventFilter +{ + Q_OBJECT +public: + explicit SerialPortStatus(QObject *parent = nullptr); + +protected: + bool nativeEventFilter(const QByteArray &eventType, void *message, long *result); + +signals: + +}; + +#endif // SERIALPORTSTATUS_H diff --git "a/README.assets/\344\270\262\345\217\243\347\212\266\346\200\201\346\243\200\346\265\213.gif" "b/README.assets/\344\270\262\345\217\243\347\212\266\346\200\201\346\243\200\346\265\213.gif" new file mode 100644 index 0000000000000000000000000000000000000000..495bce836f37a5e735e0c21b5245e7b08b9709b5 Binary files /dev/null and "b/README.assets/\344\270\262\345\217\243\347\212\266\346\200\201\346\243\200\346\265\213.gif" differ diff --git "a/README.assets/\351\274\240\346\240\207\351\224\256\347\233\230\347\203\255\346\217\222\346\213\224\347\233\221\346\265\213.gif" "b/README.assets/\351\274\240\346\240\207\351\224\256\347\233\230\347\203\255\346\217\222\346\213\224\347\233\221\346\265\213.gif" new file mode 100644 index 0000000000000000000000000000000000000000..b13b5f65ec33496af2f09ad5d14d0963031761c8 Binary files /dev/null and "b/README.assets/\351\274\240\346\240\207\351\224\256\347\233\230\347\203\255\346\217\222\346\213\224\347\233\221\346\265\213.gif" differ