2018-2-13-C#-获得设备usb信息
2023-09-27 14:28:53 时间
title | author | date | CreateTime | categories |
---|---|---|---|---|
C# 获得设备usb信息 |
lindexi |
2018-2-13 17:23:3 +0800 |
2018-2-13 17:23:3 +0800 |
C# |
本文告诉大家如何获得设备的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,一般需要开机之后很久才会把所有的设备添加,所以如果找不到,就看开机的时间,如果太短,那么可能是因为程序太快去查。
相关文章
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - .NET商业化成品成熟各种数据权限的需求对应例子代码
- C#多线程学习总结
- C#字母与ASCII码的转换
- C#中foreach命令的使用
- .net(C#)访问Oracle数据库的几种免安装组件的对比(转)
- C#右下角弹出消息框
- C# 域用户操作(转)
- C#底层库--Excel操作帮助类(可读取加密 Excel表格)
- 改善 C# 的语言习惯(一) - 使用属性而不是可访问的数据成员(整理中)
- C#通过 WURFL 获取设备信息
- C# 7.2 通过 in 和 readonly struct 减少方法值复制提高性能
- C# 7.0 使用下划线忽略使用的变量