Список USB-устройств

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AD'onis
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 05.10.2006 (Чт) 20:19
Откуда: не секрет, я б сказал, но забаннят

Список USB-устройств

Сообщение AD'onis » 06.04.2008 (Вс) 13:30

Доброго времени суток всем.

Собственно, тема и есть вопрос.
Нужно получить список всех подключенных USB-устройств. Вообще нужны их хендлы.
Может у кого примерчик завалялся или кто сможет подсказать хоть какие функции юзать.

Заранее спасибо.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 07.04.2008 (Пн) 8:59

Ну, со списком все просто:
Код: Выделить всё
On Error Resume Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_USBController")

For Each objItem in colItems
    Wscript.Echo "Configuration Manager Error Code: " & _
        objItem.ConfigManagerErrorCode
    Wscript.Echo "Configuration Manager User Configuration: " & _
        objItem.ConfigManagerUserConfig
    Wscript.Echo "Device ID: " & objItem.DeviceID
    Wscript.Echo "Manufacturer: " & objItem.Manufacturer
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
    Wscript.Echo "Protocol Supported: " & objItem.ProtocolSupported
    Wscript.Echo
Next
Лучший способ понять что-то самому — объяснить это другому.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 07.04.2008 (Пн) 10:47

Все вам этот тормозной WMI... :)

http://wasm.ru/article.php?article=usb_eject
А я все практикую лечение травами...

AD'onis
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 05.10.2006 (Чт) 20:19
Откуда: не секрет, я б сказал, но забаннят

Сообщение AD'onis » 07.04.2008 (Пн) 11:42

Спасибо, буду дома, посмотрю :)
Господи, прошу, дай мне сорсы мира, я столько всего хочу переделать!

AD'onis
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 05.10.2006 (Чт) 20:19
Откуда: не секрет, я б сказал, но забаннят

Сообщение AD'onis » 08.04.2008 (Вт) 16:25

Antonariy
Но так же я получаю список хост-контроллеров? А нужен список подключенных устройств.
Господи, прошу, дай мне сорсы мира, я столько всего хочу переделать!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.04.2008 (Вт) 16:51

Ну включи мозги, копни немного в сторону. Путь то тебе указали же.
I don't understand. Sorry.

AD'onis
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 05.10.2006 (Чт) 20:19
Откуда: не секрет, я б сказал, но забаннят

Сообщение AD'onis » 08.04.2008 (Вт) 17:29

RayShade
Да, ты прав.

Коряво, но сделал так:
Код: Выделить всё
On Error Resume Next

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPEntity")

For Each objItem In colItems
    S = objItem.DeviceID
    R = InStr(1, S, "USB", 1)
    R = InStr(1, S, "HID", 1)
    if R=0 then
       S = objItem.Name
       R = InStr(1, S, "USB", 1)
    End If
    If R > 0 Then
        List1.AddItem "Configuration Manager Error Code: " & _
            objItem.ConfigManagerErrorCode
        List1.AddItem "Configuration Manager User Configuration: " & _
            objItem.ConfigManagerUserConfig
        List1.AddItem "Device ID: " & objItem.DeviceID
        List1.AddItem "Manufacturer: " & objItem.Manufacturer
        List1.AddItem "Name: " & objItem.Name
        List1.AddItem "PNP Device ID: " & objItem.PNPDeviceID
        List1.AddItem "Protocol Supported: " & objItem.ProtocolSupported
        List1.AddItem " "
    End If
Next
Господи, прошу, дай мне сорсы мира, я столько всего хочу переделать!

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 09.04.2008 (Ср) 15:55

А что полезного можно сделать с USB FLASH MEMORY STICK, что нельзя сделать обращаясь к нему как к диску?
Или речь не идёт про флешку?
Автор, расскажи что мутишь? Любопытно просто.

AD'onis
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 05.10.2006 (Чт) 20:19
Откуда: не секрет, я б сказал, но забаннят

Сообщение AD'onis » 09.04.2008 (Ср) 19:11

А мемори стик тут не при чем :)
1) Устройство сопряжения на USB
2) Тема про веб-камеры.
Господи, прошу, дай мне сорсы мира, я столько всего хочу переделать!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 80

    TopList