当前位置:首页 > 资讯 > 正文

qt u热插拔,windows版本,环境qt5.12.9和win10

写文章的目的:

        自己要做windows上的u通信,但是找遍全网都没找到完整的,虽然有热插拔相关的,但是热插拔的监测不够全面,基本都是只能监测部分的插拔,并且大家都推荐使用libu库,但是使用了一下该库,哎哟我去,暂时还不支持windows的热插拔监测,难受啊!!!!

        于是,一横心去翻了微软的官网,哈哈,总算是找到了,我这里的所有u设备都能监测到了。开心啊!!!

下面就是详细教程

 第一步:新建qt项目,然后新建C++类,基类选择QObject;

qt u热插拔,windows版本,环境qt5.12.9和win10

第二步:添加内容(算了,我直接把我的给你们,方便懒人粘贴,不过自己比较一下我给的和刚新建的类差别时什么哈)

头文件如下:

 

 cpp文件如下:

 

        说明一下:类继承QObject是为了发送signal;一定要添加继承public QAbstractNativeEventFilter这个类哈;还有就是基本我们热插拔使用的就DBT_DEVNODES_CHANGED(向系统添加或删除设备)这个消息就行了,我发送消息的那两个地方,不靠谱啊,感觉只有存储设备时才有用;还有就是我发现插入设备时DBT_DEVNODES_CHANGED会到来两次,而拔出设备时却只有一次,具体原因还不知道,哪位知道的请求告知一下;

第三步:main.cpp安装事件过滤器

 

最新文章