检测USB设备插入、拔出时,使用GUID出错:

sct sct 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
检测USB设备插入、拔出时,使用GUID出错:

case WM_DEVICECHANGE:
{
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
PDEV_BROADCAST_DEVICEINTERFACE jzr;
GUID guid;
if(lpdb->dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE)
{
jzr = (PDEV_BROADCAST_DEVICEINTERFACE)lParam;
guid = jzr->dbcc_classguid;
}

CString strGuid;
strGuid.Format("{%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}",
guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1],
guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); //这里会报错,可能是guid没有获得一个有效的值吗?要怎么修改呢?

请大家指点一下,thanks
...全文

相关推荐

C#检测USB的插入和拔出,绝对有用

C#检测USB的插入和拔出,绝对有用 代码绝对正确,不正确你骂我。

光哥

C#上位机与USB HID设备通信实战:免驱枚举与数据读写

HID(人机交互设备)是USB外设中一种免驱、双向通信的接口类型,鼠标、键盘、扫码枪、读卡器、USB继电器等设备均基于该协议工作。系统内核已内置HID类驱动,设备插入后即可被识别,无需额外安装驱动。对于上位机开发而言,HID链路短、协议清晰,非常适合小数据量、实时性要求高的工业场景。C#开发者可通过HidLibrary、WinRT API或P/Invoke三条路径接入HID设备,其中HidLibrary以封装完善、上手快捷成为桌面项目首选。从VID/PID枚举、多设备序列号区分,到输入输出报告与Report

SimminonGarcia

USB HID双向通信系统开发实战:从MCU固件到C#上位机

USB(通用串行总线)作为现代计算机与外部设备通信的核心标准,其协议栈定义了主机与设备间数据交换的规范。在USB设备类中,HID(人机接口设备)类因其免驱特性在操作系统层面得到原生支持,通过标准化的报告描述符和中断传输机制实现数据通信。这一技术价值在于极大降低了嵌入式设备与PC交互的开发门槛,无需编写复杂内核驱动即可实现即插即用。在物联网终端、工业控制面板、自定义输入设备等场景中,USB HID协议常被用于传输配置指令、传感器数据等中低速信息。本文聚焦于基于CYPRESS CY8C24894 MCU与C#桌

weixin_30480075

Win7系统USB连接记录彻底清除指南:注册表清理与隐私保护

在计算机系统中,注册表作为Windows操作系统的核心配置数据库,存储着硬件设备、软件设置和用户偏好等关键信息。其工作原理是通过树状结构的键值对来管理系统状态,其中USB设备连接记录便深植于此。这项机制的技术价值在于提升设备识别效率与用户体验,但同时也带来了隐私泄露风险。在数据安全与隐私保护的应用场景下,彻底清除USB使用痕迹成为IT管理和个人隐私维护的常见需求。本文聚焦于Windows 7系统,详细解析USB历史记录在注册表中的存储位置,特别是USBSTOR和MountedDevices等关键路径,并提供

王爷的大房子

利用QDBus在linux下检测USB存储设备的插入和拔出

利用QDBus在linux下检测USB存储设备的插入和拔出

waiter89
评论 5
收藏 已收藏
分享
返回顶部
sct
VC/MFC 16,550 成员 421,606 内容