Pythonを使ってWindowsでUSB PID&VIDを取得する方法


LinuxシステムでUSB PID&VIDを取得するのはとても簡単なことです。「lsusb」コマンドだけでいいです。
でも、Windowsについては、そんなに簡単ではありません。
以前、レジストリによって今接続されているdeviceのUSB PID&VIDを取得する試みがありましたが、レジストリには以前にこのWindowsシステムに挿入されたUSBデバイスの履歴が保存されています。つまり、Windowsに接続されているUSBデバイスの情報ではありません。
この問題は、pyusbというライブラリで解決できますが、pyusbはライブラリに依存していますので、Windowsによっては異なるライブラリが必要になります。
その後、pyWin 32ライブラリを選択しました。これはもっと一般的です。MGMTを使って、二つのinstanceを試しました。USBHubは一部のUSBデバイスの情報しかキャプチャできません。でも「win 32_」USB controllerdevceは、すべてのUSB情報をキャプチャすることができます。後で考えてみます。Win 32_。USBHubはUSB hubの情報をつかむべきです。Win 32_USBCN troller DeviceがキャプチャーしたのはUSB deviceの情報です。)
Win 32_を使うUSBHubの実例コードは以下の通りです。

>>> import win32com.client
>>> wmi = win32com.client.GetObject ("winmgmts:")
>>> for usb in wmi.InstancesOf ("Win32_USBHub"):
...    print usb.DeviceID
...
Win 32_を使うUSBCN trollerDeviceの例コードは以下の通りです。

import win32com.client    
 
      wmi = win32com.client.GetObject ("winmgmts:")
      for usb in wmi.InstancesOf ("win32_usbcontrollerdevice"):
        if "VID_05E0&PID_2107" in usb.Dependent:
          usbPidVidCorrect = True
以上のPythonを使ってWindowsの下でUSB PID&VIDを取得する方法は、小編集が皆さんに提供しているすべての内容を共有することです。参考にしていただければと思います。どうぞよろしくお願いします。