博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QTC++监控USB插拔
阅读量:4544 次
发布时间:2019-06-08

本文共 1869 字,大约阅读时间需要 6 分钟。

#if defined(Q_OS_WIN)#include 
#include
#include
#endifQByteArray *MainWindow::receivedData=new QByteArray();//接收到数据ThreadComPort *MainWindow::threadInitComPort=0;#if defined(Q_OS_WIN)static const GUID GUID_DEVINTERFACE_USBSTOR = { 0xA5DCBF10L, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } };static const GUID InterfaceClassGuid = GUID_DEVINTERFACE_USBSTOR;static bool isDoingSearch=false;static void SerachComPort(){ if(isDoingSearch==false){ isDoingSearch=true; bool hasDevice=false; QList
list= QSerialPortInfo::availablePorts(); for(int i=0;i
InitComPort(); } isDoingSearch=false; }}LRESULT CALLBACK dw_internal_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ if (message == WM_DEVICECHANGE) { switch (wParam) { case DBT_DEVNODES_CHANGED: qDebug()<<"设备插拔啦."; Globals::parent->CloseComPort(); SerachComPort(); break; } } // qDebug()<<"HWND:"<
(className.utf16()); RegisterClass(&wc); HWND hwnd = CreateWindow(wc.lpszClassName, // classname wc.lpszClassName, // window name 0, // style 0, 0, 0, 0, // geometry 0, // parent 0, // menu handle hi, // application 0); // windows creation data. if (hwnd) { DEV_BROADCAST_DEVICEINTERFACE NotificationFilter ; ZeroMemory(&NotificationFilter, sizeof(NotificationFilter)) ; NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE); NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE; NotificationFilter.dbcc_classguid = InterfaceClassGuid; RegisterDeviceNotification(hwnd, &NotificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE); } return hwnd; }#endif

  

转载于:https://www.cnblogs.com/HCCZX/p/4759845.html

你可能感兴趣的文章
ubuntu 16.04 + python + matplotlib下画图显示中文设置
查看>>
SQL语句练习
查看>>
C#中不用安装Oracle客户端连接Oracle数据库(转)
查看>>
C++解析(24):抽象类和接口、多重继承
查看>>
【jdk源码3】HashMap源码学习
查看>>
[转载].NET IL 指令速查
查看>>
kafak manager + zookeeper + kafka 消费队列快速清除
查看>>
TFS工作区(Workspaces )命令
查看>>
关于Page_ClientValidate方法,完美实现验证控件成功后confirm确认效果
查看>>
File 访问本地文件夹加载变换图片
查看>>
【RF库XML测试】测试的XML文件说明
查看>>
MySQL常用函数
查看>>
sqlite的使用
查看>>
怎么选取训练神经网络时的Batch size?
查看>>
安装laravel5.1项目命令
查看>>
openstack云基础架构
查看>>
搭建一个java博客
查看>>
Last Day in Autodesk
查看>>
203. 删除链表中的节点
查看>>
JavaScript String
查看>>