原文:C# 获得设备usb信息

本文告诉大家如何获得设备的usb来进行判断是否有哪些usb和找不到usb可能是什么。

需要在项目右击引用,点击程序集,搜索 System.Management 然后安装他

然后使用下面的代码就可以获得设备的 usb 请看代码

       static List<(string DeviceID, string PNPDeviceID, string Description)> GetUSBDevices()
{
List<(string DeviceID, string PNPDeviceID, string Description)> devices = new List<(string, string, string)>(); ManagementObjectCollection collection;
using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub"))
{
collection = searcher.Get();
} foreach (var device in collection)
{
devices.Add(((string) device.GetPropertyValue("DeviceID"),
(string) device.GetPropertyValue("PNPDeviceID"),
(string) device.GetPropertyValue("Description")));
} collection.Dispose();
return devices;
}

如果需要判断是否存在某个 usb ,就通过 pid vid 判断,判断的方法是拿PNPDeviceID字符串比较

参见:c# 获取移动硬盘信息、监听移动设备的弹出与插入事件 - Chris Cheung - 博客园

如果发现找不到 usb ,可能是在开机的时候进行找usb,一般需要开机之后很久才会把所有的设备添加,所以如果找不到,就看开机的时间,如果太短,那么可能是因为程序太快去查。


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. NOIp 11.11/12
  2. .scss写法及如何转化为.css
  3. Android -- Support包特性
  4. spark - 从HDFS加载文件并分析
  5. qt 状态栏
  6. 关于meta定义 和 link
  7. HTML5 Placeholder实现input背景文字提示效果
  8. 学习android内核 -- 内存管理相关
  9. js实现文本框溢出文字用省略号(...)表示
  10. jquery的各种插件调用(有些已经过时,以备注,其他的一些可以闲的时候用作拆解)
  11. 基于Web在线考试系统的设计与实现
  12. LESS的简单介绍
  13. Json.NET Performance Tips
  14. VSCode插件开发全攻略(三)package.json详解
  15. 关于一体机打印新加菜按钮更改为下单小票打印设置FAQ(适用正餐6.0.1.0+,轻餐4.0.6.2+)
  16. emacs初步学习
  17. tf-slim-mnist
  18. Pycharm进行版本管理
  19. Redis Desktop Manager连接Redis
  20. MVC4 绑定下拉框方法,解决编辑时不绑定值

热门文章

  1. Android JNI--基础篇(二)
  2. php中如何获取数组长度
  3. 小强的HTML5移动开发之路(36)——jQuery中的DOM操作
  4. 中国象棋V2:Java源代码、毕业设计等所有文档,已经全部提交到CSDN-Code平台
  5. [转载]Android Studio卡在refreshing gradle project的原因和快速解决办法
  6. Less小总结
  7. Hadoop和RDBMS的混合系统介绍
  8. delphi 中的函数指针 回调函数(传递函数指针,以及它需要的函数参数)
  9. GIT 单个文件还原到历史版本号
  10. Airflow 使用简介