繁体   English   中英

如何使用WMI获取RFID阅读器的物理设备ID?

[英]How to get Physical device IDs of RFID readers using WMI?

在C#中使用WMI通过串行端口读取RFID的物理设备对象名称

我正在设置一个C#代码以读取来自不同RFID阅读器的信号。 因此,我想获取物理设备ID以识别哪个设备正在发送哪个信号。 因此,我试图通过WMI读取设备信息,该类具有13xx以上的类。

代码

ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * From Win32_PnPEntity");
ManagementObjectCollection objCollection = objSearcher.Get();

foreach (ManagementObject obj in objCollection)
{
    string info = "HardwareID : "+obj["HardwareID"];
}

我希望每个RFID阅读器的信息都具有唯一的物理ID。

HardwareID是一个string[]而不是一个string因此要获取,您必须执行以下操作

var objSearcher = new ManagementObjectSearcher("Select * From Win32_PnPEntity");
var objCollection = objSearcher.Get();

foreach (var queryObj in objSearcher.Get())
{
    Console.WriteLine("Name {0}" , queryObj["Name"]);
    if (queryObj["HardwareID"] == null)
         Console.WriteLine("HardwareID: {0}", queryObj["HardwareID"]);
    else
    {
         var arrHardwareID = (String[])(queryObj["HardwareID"]);                    
         foreach (var arrValue in arrHardwareID)
         {
             Console.Write("HardwareID: {0}\t", arrValue);
         }
    }
}

此外,您始终可以使用任何NuGet包来简化您的工作,例如KexlaORMi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM