Что такое эквивалент lshw в Windows, который может дать мне древовидную структуру аппаратного обеспечения, как lshw в Linux? - PullRequest
4 голосов
/ 10 октября 2011

Мне нужна информация об оборудовании, как указано ниже, которая была сгенерирована с помощью lshw в linux.Мне нужен Windows эквивалент без графического интерфейса, более предпочтительно, как код или DLL, которые могут быть использованы для извлечения информации в той же древовидной структуре.Пожалуйста, обратите внимание, что Wmi не подходит, так как он не дает мне пустых слотов, в то время как lshw делает.

Ответы [ 4 ]

3 голосов
/ 13 февраля 2013

Вы можете взглянуть на Microsoft DevCon: . Утилита командной строки DevCon работает как альтернатива диспетчеру устройств. .

. Также доступен исходный код для DevCon.в Windows DDK (который доступен из http://www.microsoft.com/whdc/devtools/ddk/default.mspx) в DDK root\Src\Setup\Devcon вместе с документацией. Исходный код показывает, как использовать различные API в SetupAPI .

1 голос
/ 06 марта 2013

Я знаю, что USBDeview похоже на lsusb в Windows. Вы можете найти его из http://www.nirsoft.net/.

Возможно, другое программное обеспечение Nirsoft поможет вам? Как Devmanview или Driverview?

0 голосов
/ 17 января 2019

У вас есть несколько вариантов, см. мой ответ на SR SE.

  • DevCon.exe ( CLI ), который доступен в источниках из github repo , или в качестве альтернативы может быть полученный из Windows SDK, WDK (Windows Driver Kit) или EDWK.

  • USBview.exe ( GUI ) - доступно в том же месте, что и выше. И описал здесь .

  • listdevs.exe ( CLI ) - вы можете использовать некоторые из libusb инструментов, найденных в их GitHub .

Некоторые примеры использования:

# Some useful devcon examples:
#devcon.exe classes             # to list all available classes
#devcon.exe listclass net
#devcon.exe hwids =net
#devcon.exe driverfiles "HID\Vid_045e&Pid_0039&Rev_0121"
#devcon.exe find "*usb*"
#devcon.exe find "=libusb-win32 devices"
#devcon.exe hwids USB\*

# devcon.exe listclass usb

Listing 11 devices in setup class "USB" (Universal Serial Bus controllers).
USB\VID_0BDA&PID_0139\20100201396000000                     : Realtek USB 2.0 Card Reader
USB\ROOT_HUB20\4&29650814&0                                 : USB Root Hub
USB\VID_8087&PID_8008\5&55A390B&0&1                         : Generic USB Hub
...
PCI\VEN_8086&DEV_8C2D&SUBSYS_11CD1043&REV_05\3&11583659&0&D0:  
Intel(R) 8 Series/C220 Series USB EHCI #2 - 8C2D

# devcon.exe hwids USB\*

USB\VID_0BDA&PID_0139\20100201396000000
    Name: Realtek USB 2.0 Card Reader
    Hardware IDs:
        USB\VID_0BDA&PID_0139&REV_3960
        USB\VID_0BDA&PID_0139
    Compatible IDs:
        USB\Class_FF&SubClass_06&Prot_50
        USB\Class_FF&SubClass_06
        USB\Class_FF
USB\ROOT_HUB20\4&29650814&0
    Name: USB Root Hub
    Hardware IDs:
        USB\ROOT_HUB20&VID8086&PID8C26&REV0005
        USB\ROOT_HUB20&VID8086&PID8C26
        USB\ROOT_HUB20
...

Инструменты libusb:

# listdevs.exe

0bda:0139 (bus 2, device 1) path: 8
8086:8c26 (bus 3, device 0)
8087:8008 (bus 1, device 1) path: 1
13d3:3402 (bus 2, device 3) path: 5
16c0:05df (bus 2, device 14) path: 2

# Then use xusb to get details of the VID/PID:
# xusb.exe -i 16c0:05df

Using libusb v1.0.22.11312
Opening device 16C0:05DF...
Device properties:
        bus number: 2
         port path: 2 (from root hub)
             speed: 1.5 Mbit/s (USB LowSpeed)

Reading device descriptor:
            length: 18
      device class: 0
               S/N: 0
           VID:PID: 16C0:05DF
         bcdDevice: 0100
   iMan:iProd:iSer: 1:2:0
          nb confs: 1

Reading BOS descriptor: no descriptor

Reading first configuration descriptor:
             nb interfaces: 1
              interface[0]: id = 0
interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 03.00.00
       endpoint[0].address: 81
           max packet size: 0008
          polling interval: 0A

Claiming interface 0...

Reading string descriptors:
   String (0x01): "digistump.com"
   String (0x02): "DigiUSB"

Releasing interface 0...
Closing device...
libusb: error [parse_bos] unexpected descriptor 0 (expected f)
0 голосов
/ 25 января 2012

Если вы предпочитаете древовидное представление, перейдите в диспетчер устройств (обычно в «Система» -> «Оборудование»).Это покажет вам все устройства в вашей системе.Это лучше, чем командная строка в Ubuntu, хотя вам, возможно, придется копать дальше, чем обычно, чтобы найти такие особенности, как ширина данных или режимы канала.

Более простой вариант - перейти на веб-сайт Piriform и забрать Speccy.Я бы предложил портативную сборку, потому что она более удобна, и, кроме того, вы будете использовать ее только несколько раз.

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

...