[英]Getting the model name of a connected USB device in .NET
在我的WinForms应用程序中,我想获取已连接的USB对象的列表,然后获取那些已连接的USB设备的模型属性,因为我需要能够告诉用户何时它们已连接某个USB设备。
任何人都可以通过WMI或其他方式共享一种方法,以获取已连接设备的列表并获取这些设备的模型属性吗? 我已经从有关使用WMI获取设备信息的问题中修改了一些代码。 下面的代码工作正常,但是在以人类可以理解的方式识别设备时,获得的参数(“ DeviceID”,“ PNPDeviceID”等)根本没有用,我也不知道如何获取模型即在设备和打印机如图所见财产这里 。
public static List<USBDeviceInfo> GetUSBDevices(){
List<USBDeviceInfo> devices = new List<USBDeviceInfo>();
ManagementObjectCollection collection;
using (var searcher = new ManagementObjectSearcher(@"Select * From
Win32_USBControllerDevice")) collection = searcher.Get();
foreach (var device in collection)
{
devices.Add(new USBDeviceInfo(
(string)device.GetPropertyValue("DeviceID"),
(string)device.GetPropertyValue("PNPDeviceID"),
(string)device.GetPropertyValue("Description")));
}
collection.Dispose();
return devices;
}
使用课程
public class USBDeviceInfo {
public USBDeviceInfo(string deviceID, string pnpDeviceID, string description)
{
this.DeviceID = deviceID;
this.PnpDeviceID = pnpDeviceID;
this.Description = description;
}
public string DeviceID { get; private set; }
public string PnpDeviceID { get; private set; }
public string Description { get; private set; }
}
}
我想发表这篇文章,以防万一我缺少针对我的特定问题的简单解决方案。 我也现在试图扭转工程师USB查看阿拉这个问题 ,因为USB观点得到我需要某种方式的信息。
作为记录,我在Visual Studio 2015中使用C#。
通过变通,我能够实现所需的顶级功能。 我确定了返回的DeviceID字符串的一部分,这对于我的应用程序所需要的RFID扫描仪品牌来说是唯一的。
我解析了返回的deviceID字符串,并检查是否存在该唯一值,并相应地更新了我的应用程序以反映这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.