簡體   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