USB Device Connected

前端 未结 2 1931
情深已故
情深已故 2020-12-03 19:12

I\'m trying to make a function that detects if a usb device is connected given the devices pid and vid. I\'m hoping it would look something like this, I\'m just not sure ho

相关标签:
2条回答
  • 2020-12-03 19:55

    may be something like

    //import the System.Management namespace at the top in your "using" statement. Then in a method, or on a button click:
    
    ManagementObjectCollection collection;
    using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'"))
      collection = searcher.Get();
    foreach (ManagementObject currentObject in collection)
    {
      ManagementObject theSerialNumberObjectQuery = new ManagementObject("Win32_PhysicalMedia.Tag='" + currentObject["DeviceID"] + "'");
      MessageBox.Show(theSerialNumberObjectQuery["SerialNumber"].ToString());
    }
    collection.Dispose();
    

    Using WMI

    0 讨论(0)
  • 2020-12-03 20:02
    //using System.Management
    public bool IsUsbDeviceConnected(string pid, string vid)
    {   
      using (var searcher = 
        new ManagementObjectSearcher(@"Select * From Win32_USBControllerDevice"))
      {
        using (var collection = searcher.Get())
        {
          foreach (var device in collection)
          {
            var usbDevice = Convert.ToString(device);
    
            if (usbDevice.Contains(pid) && usbDevice.Contains(vid))
              return true;
          }
        }
      }
      return false;
    }
    
    0 讨论(0)
提交回复
热议问题