如何在c#中找到我的设备的PID(产品ID)和VID(供应商ID) ?

  • 本文关键字:ID 产品 供应商 VID PID c#
  • 更新时间 :
  • 英文 :


我试图获得设备的PID(产品ID)和VID(供应商ID)

我已经找到了这篇文章,问同样的问题:如何获得所有USB设备的VID和PID连接到我的系统在。net?
然而,我在ManagementClass构造函数中得到一个异常,说它找不到Win32_USBDevice

我发现了一个传递"Win32_DiskDrive"作为一个参数,但然后它找不到任何东西,并抛出NullReferenceException在作用域的末尾(似乎它与IDiposable有关,因为添加"using"To the like make it throw there)

所以我的问题是,我怎么能得到PID和VID我的设备使用c#和。net 6?

您尝试过WMI查询吗?获取设备id

应该很简单
public class CustomWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("Name: {0}", queryObj["Name"]);
Console.WriteLine("Caption: {0}", queryObj["Caption"]);
Console.WriteLine("Description: {0}", queryObj["Description"]);
Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
Console.WriteLine("PNPDeviceID: {0}", queryObj["PNPDeviceID"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("error: " + e.Message);
}
}
}

设备id看起来像这样

USBVID_0911&PID_1240&MI_016&27AAD51C&0&0000
然后你可以从VID_中获取信息&分隔符作为供应商Id然后可以从PID_中获取信息&分隔符作为产品Id

最新更新