怎样检测读卡器插拔?

Nick_Ngai 2020-07-17 11:06:46
怎样检测出读卡器(SD卡或三合一卡)插拔?
找了好久也没找到详细的说明。有没有类似下面这个检测媒体设备插拔的?
https://docs.microsoft.com/en-us/windows/win32/devio/detecting-media-insertion-or-removal
...全文
642 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2020-07-17
  • 打赏
  • 举报
回复
SD卡属于存储介质,所以我们 使用wmi工具查询存储介质信息 1.cmd.exe 2.输入 wmic 进入wmi查询工具 3.输入 diskdrive get * 查询存储介质信息 ,看看这里面有没有啥可以利用的信息
Nick_Ngai 2020-07-17
  • 打赏
  • 举报
回复
得到的dbcc_name是类似这样的字符串: \\?\SD#DISK&Generic&00000&1.0#6&236864e8&0&0c230c0f&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} \\?\USB#VID_0781&PID_5591#4C531001620322101281#{a5dcbf10-6530-11d2-901f-00c04fb951ed} 简单的可以匹配是否包含SD或USB字符来区分类型,但是有没有文档说明,不清楚读卡器除了SD卡,MMC和MS卡,或其他的怎么判断?
Nick_Ngai 2020-07-17
  • 打赏
  • 举报
回复
引用 4 楼 wanghui0380 的回复:
https://docs.microsoft.com/en-us/windows/win32/devio/wm-devicechange 如同2楼,我们首先要收到设备变更消息
这个知道啊,接收到变更消息后,怎么区分是什么设备呢?这里会包含USB,光驱,读卡器等等,我需要的是读卡器设备。
wanghui0380 2020-07-17
  • 打赏
  • 举报
回复
https://docs.microsoft.com/en-us/windows/win32/devio/wm-devicechange 如同2楼,我们首先要收到设备变更消息
Nick_Ngai 2020-07-17
  • 打赏
  • 举报
回复
引用 1 楼 大西瓜一块五一斤♏ 的回复:
这里的第二点的方法
这个监听包含了USB设备,怎么判断出是那种设备呢?最好是官方说明文档。
Nick_Ngai 2020-07-17
  • 打赏
  • 举报
回复
https://docs.microsoft.com/en-us/windows/win32/api/dbt/ns-dbt-dev_broadcast_deviceinterface_a 或者怎么根据dbcc_name判断是否为读卡器设备?
  • 打赏
  • 举报
回复
这里的第二点的方法
Nick_Ngai 2020-07-17
  • 打赏
  • 举报
回复
还有没有其他判断方法呢?

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧