Как получить VID и PID всех USB-устройств, подключенных к моей системе в .net? - PullRequest
2 голосов
/ 29 ноября 2011

В консольном приложении C # .net какой код можно написать, чтобы напечатать на экране VID и PID каждого USB-устройства, подключенного к системе?

1 Ответ

4 голосов
/ 29 ноября 2011

Вот некоторый код, который я написал на основе того, что я нашел до сих пор. Возможно, есть лучший способ сделать это.

    public static void MyMethod()
    {                            
        System.Management.ManagementClass USBClass = new ManagementClass("Win32_USBDevice");                
        System.Management.ManagementObjectCollection USBCollection = USBClass.GetInstances();

        foreach (System.Management.ManagementObject usb in USBCollection)
        {
            string deviceId = usb["deviceid"].ToString();
            Console.WriteLine(deviceId);

            int vidIndex = deviceId.IndexOf("VID_");
            string startingAtVid = deviceId.Substring(vidIndex + 4); // + 4 to remove "VID_"                    
            string vid = startingAtVid.Substring(0, 4); // vid is four characters long
            Console.WriteLine("VID: " + vid);

            int pidIndex = deviceId.IndexOf("PID_");
            string startingAtPid = deviceId.Substring(pidIndex + 4); // + 4 to remove "PID_"                    
            string pid = startingAtPid.Substring(0, 4); // pid is four characters long
            Console.WriteLine("PID: " + pid);                                        
        }            

        Console.ReadLine();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...