다음 코드는 USB 장치의 하드웨어 ID에 액세스하는 데 도움이 될 수 있습니다 :
using System;
using System.Management;
namespace akWmiDeviceDemo
{
class Program
{
static void Main(string[] args)
{
// inspired by:
// https://blogs.msdn.microsoft.com/powershell/2007/02/24/displaying-usb-devices-using-wmi/
string strComputer = ".";
ManagementScope scope = new ManagementScope(@"\\" + strComputer + @"\root\cimv2");
ObjectQuery queryUsbControllers = new ObjectQuery("Select * From Win32_USBControllerDevice");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, queryUsbControllers);
ManagementObjectCollection usbControllers = searcher.Get();
foreach (ManagementObject usbController in usbControllers)
{
string dependent = (string)usbController["Dependent"];
string[] names = dependent.Replace("\"", "").Split(new char [] {'='});
string strUsbControllerName = names[1];
ObjectQuery queryUsbDevices = new ObjectQuery("Select * From Win32_PnPEntity Where DeviceID = '" + strUsbControllerName + "'");
ManagementObjectSearcher deviceSearcher = new ManagementObjectSearcher(scope, queryUsbDevices);
ManagementObjectCollection usbDevices = deviceSearcher.Get();
o("");
o("USB controller = {0}", strUsbControllerName);
foreach (ManagementObject usbDevice in usbDevices)
{
o("description = {0}", usbDevice["Description"]);
o("PnPDeviceID = {0}", usbDevice["PnPDeviceID"]);
}
}
}
static void o(string format, params object[] args)
{
Console.WriteLine(format, args);
}
}
}
'MAC Address'를? – Smartis
USB 디스크립터에는 MAC 속성이 없습니다. pls 내가 어디서 똑같은 찾을 수 있는지 말해. –
[Here] (http://stackoverflow.com/questions/1554423/how-to-get-usb-hardware-id-using-device-id)는 C++을 통해 관련 게시물입니다. devcon.exe를 사용하여 전체 또는 선택된 하드웨어 ID를 나열 할 수 있습니다. –