powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить код экземпляра устройство (серийный номер флэшки)
15 сообщений из 40, страница 2 из 2
Получить код экземпляра устройство (серийный номер флэшки)
    #36829575
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если указать DriveType=3, то покажет информацию о жёстких дисках.
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36829598
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player, не пойму к чему Ваше сообщение, в код от вчера 19:42 просто надо добавить возможности из кода от 29 авг 10, 07:16
Что-то я крутил его и так и сяк у меня не получилось
То есть букву диска знаю, его имя знаю, нужна
переменная PnPDeviceID подсоединённого к компьютеру USB устройства
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36829601
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть соединить эти два кода нет проблем, просто не знаю как это сделать оптимально, чтобы ничего лишнего
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36829962
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

Да это я так больше для себя написал, код заинтересовал, может в будущем пригодиться.
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830001
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
Код: plaintext
objItem.DeviceID
а это не id устройства ?
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830028
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,
в скрипте представленном мною objItem.DeviceID это Буква_съемного_диска = objItem.DeviceID, потому что это присваивается в цикле:
Код: plaintext
1.
2.
3.
For Each objPart In objPartitions
Буква_съемного_диска = objItem.DeviceID
Next
А мне нужно присвоить PnP_ID_устройства = objItem.PnPDeviceID
Вроде не сложно, но надо в цикле
Код: plaintext
1.
2.
3.
For Each objItem In colItems
PnP_ID_устройства = objItem.PnPDeviceID
Next
И предварительно создать объект
Код: plaintext
1.
2.
Set colItems = objWMI.ExecQuery("Select * from Win32_DiskDrive", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

Вроде всё просто, но у меня не получилось
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830174
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с ума сойти 2600 просмотров и 30 ответов, верный ответ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
'обнаружение подключенных на компьютере USB накопителей, их ID
Dim objWMI, objLogicalDisks, objLD
Dim objPartitions, objPart, objDrives, objDrive
Dim strComputer, strTemp
strComputer = "."
Set objWMI = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")
Set objLogicalDisks = objWMI.ExecQuery _
                   ("SELECT * FROM Win32_LogicalDisk WHERE DriveType=2")
For Each objLD In objLogicalDisks
   Set objPartitions = objWMI.ExecQuery _
                           ("ASSOCIATORS OF {Win32_LogicalDisk.DeviceID=""" & _
                           objLD.DeviceID & _
                           """} WHERE AssocClass=Win32_LogicalDiskToPartition")
   For Each objPart In objPartitions
       Set objDrives = objWMI.ExecQuery _
                           ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & _
                           objPart.DeviceID & _
                           """} WHERE AssocClass=Win32_DiskDriveToDiskPartition")
       For Each objDrive In objDrives
           strTemp = strTemp & objLD.DeviceID & " => " & objDrive.Caption & " (Диск " & objDrive.Index & ")" & vbNewLine & _
                       "PnPDeviceID накопителя = " & objDrive.PnPDeviceID & vbNewLine & vbNewLine
       Next
       Set objDrive = Nothing
       Set objDrives = Nothing
   Next
   Set objPart = Nothing
   Set objPartitions = Nothing
Next
Set objLD = Nothing
Set objLogicalDisks = Nothing
Set objWMI = Nothing

If Len(strTemp) =  0  Then MsgBox$ "На компьютере USB накопителей не обнаружено", vbOKOnly, "Отчёт" Else MsgBox$ strTemp, vbOKOnly, "Отчёт"

...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830452
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
я верю в вас)
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830514
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admЦипихович Эндрю,
я верю в вас) +1
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830685
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,
А вот ещё в цикле

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set objs = GetObject("winmgmts:").InstancesOf("Win32_USBControllerDevice")
For Each obj In objs
   If Right(obj.Dependent, Len(PnPID)) = PnPID Then
           пер1= obj.Dependent
           пер2= obj.Antecedent
   End If
Next

в переменную пер1 попадает например это
\\PRIVATE-1598B4D\root\cimv2:Win32_PnPEntity.DeviceID="USBSTOR\\DISK&VEN_KINGSTON&PROD_DT_101_II&REV_1.00\\001D0F0CAABFF9A145A00DAC&0"

в переменную пер2 попадает например это
\\PRIVATE-1598B4D\root\cimv2:Win32_USBController.DeviceID="PCI\\VEN_8086&DEV_3A3C&SUBSYS_50028086&REV_00\\3&11583659&0&D7"
что это такое? имеется оно в USB устройствах?
И как этот цикл добавить в Ваш скрипт от вчера, 15:02??
Спасибо
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36830686
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
ой ошибся
в Ваш скрипт от вчера, 15:02??
в мой конечно!!! скрипт от вчера, 15:02??
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36834592
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался
\\PRIVATE-1598B4D\root\cimv2:Win32_PnPEntity.DeviceID="USBSTOR\\DISK&VEN_KINGSTON&PROD_DT_101_II&REV_1.00\\001D0F0CAABFF9A145A00DAC&0"
Идентификатор накопителя

\\PRIVATE-1598B4D\root\cimv2:Win32_USBController.DeviceID="PCI\\VEN_8086&DEV_3A3C&SUBSYS_50028086&REV_00\\3&11583659&0&D7"
Идентификатор контроллера, через который в момент запроса управлялся (был физически подключен) накопитель
Но они меня не интерисуют.
Я же правильно понял, например купил флешку, узнал её идентификатор и записал на неё прогу, продал эту флешку, поставил в проге условие
если есть флешка с ID таким то то, взять с неё файл такой то и далее ...
Если нет такой флешки отдыхать, так????
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36839803
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только из последнего поста я понял к чему вся эта канитель, думал, что хотите что-то наподобие аиды или эвереста сделать, а оказывается речь о защите программного продукта с привязкой к флешке. Интересное решение.
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36840833
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player, только есть юзеры, которые говорят следующее:
Бесполезное занятие, т.к. указанный идентификатор - вовсе не уникален: для двух накопителей одной и той же модели он будет одинаковым.
В этом смысле гораздо привлекательнее выглядит свойство SerialNumber класса Win32_DiskDrive. Однако и здесь есть по крайней мере два "подводных камня":
- свойство реализовано в модели WMI только начиная с Win Vista;
- есть немало экземпляров оборудования, у которых серийного номера либо нет, либо он не уникален
Насколько это справедливо я не знаю???????????
...
Рейтинг: 0 / 0
Получить код экземпляра устройство (серийный номер флэшки)
    #36842057
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю, ищущий да найдёт. Думаю найдёте со временем правильное решение.
Кстати во флешках наверно так-же вшита и инфа о дате выпуска, дополнительно к ней привязываться.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить код экземпляра устройство (серийный номер флэшки)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]