Страницы: Пред. 1 2
RSS
Просьба протестировать работу макроса
 
Disk drive Caption: WDC WD5000BPVT-22HXZT3
DeviceID:  (\\.\PHYSICALDRIVE0)
Letter = C:   -2073695915
Drive = WDC WD5000BPVT-22HXZT3, DeviceID = \\.\PHYSICALDRIVE0          Partition = Disk #0, Partition #2

~1 сек
 
Андрей, исправленный макрос работает, но дольше, чем макрос Игоря (1,09 против 0,45)
 
Замеры на трех машинах.
На старой лошадке скорость в 2-3 раза больше!
 
Первый макрос:

Скрытый текст


второй (не объявлены переменные, пришлось удалить Option Explicit):

Скрытый текст


Да, забыл добавить - Windows 7, офис 2010
Изменено: Михаил С. - 04.07.2014 03:51:27
 
Все огромное спасибо за тестирование!

Как выяснилось, почти у всех работает, - так что буду использовать этот загадочный WMI

anvg, благодарю за пример кода
попробую сделать что-то среднее между изначальным макросом, и вашим,
касательно Select SystemDevice,SystemDrive From Win32_OperatingSystem
Проблема с pDisk.SerialNumber - неактуальна, нужна только сигнатура.


вот только до сих пор не понял, в чем разница (и есть ли она) между вариантами:
Код
GetObject("winmgmts:\\.\root\cimv2") 
GetObject("winmgmts:")
GetObject("winmgmts:{impersonationLevel=Impersonate}!//.")
внешне отличия в вызове заметные, но работает одинаково
кто знает, какой вариант правильнее, и почему?
(макрос должен работать с правами пользователя на максимальном количестве компов, и максимально быстро)
Я почему-то склоняюсь к варианту "winmgmts:" (как к самому простому) — но, может, тут есть какие-то подводные камни?
Изменено: Игорь - 04.07.2014 09:04:12
 
Игорь, доброе время суток
Судя по данным Microsoft Setting the Default Process Security Level Using VBScript и Where is root\cimv2 pointing to, для локальной работы вашего макроса достаточно второго самого простого ;) - в этом случае используются значения по умолчанию.
 
1 макрос
HITACHI HTS545025B9A300 ATA Device         1709726310
Материнская плата: CBR2303590
Partition = Disk #0, Partition #1         DriveID = \\.\PHYSICALDRIVE0
time = 0,51 сек.
2 макрос
Disk drive Caption: HITACHI HTS545025B9A300 ATA Device
DeviceID:  (\\.\PHYSICALDRIVE0)
Letter = C:    1709726310
Drive = HITACHI HTS545025B9A300 ATA Device, DeviceID = \\.\PHYSICALDRIVE0            Partition = Disk #0, Partition #1
Letter = D:    1709726310
Drive = HITACHI HTS545025B9A300 ATA Device, DeviceID = \\.\PHYSICALDRIVE0            Partition = Disk #0, Partition #2
Изменено: lexey_fan - 07.07.2014 18:03:43
Если очень захотеть - можно в космос полететь ;)
 
ХР.
Самый первый макрос в теме:
Цитата

Материнская плата: MS1C87BLUT01547
Partition = Disk #0, Partition #0         DriveID = \\.\PHYSICALDRIVE0
time = 0,09 сек.
error 91      Object variable or With block variable not set
Материнская плата: MS1C87BLUT01547
Partition = Disk #0, Partition #0         DriveID = \\.\PHYSICALDRIVE0
time = 0,09 сек.
error 91      Object variable or With block variable not set
Материнская плата: MS1C87BLUT01547
Partition = Disk #0, Partition #0         DriveID = \\.\PHYSICALDRIVE0
time = 0,08 сек.
error 91      Object variable or With block variable not set
Изменено: iNic - 09.02.2015 22:11:33
 
Макрос из поста №4.
 
Макрос из поста №30:
 
iNic, касательно сообщения 39. Уберите "Option Explicit" в начале модуля - и будет вам счастье.
There is no knowledge that is not power
 
Или объявите переменную )
 
Макрос из поста 4 без Option Explicit. Johny, благодарю за совет.
Цитата
Disk drive Caption: WDC WD3200AAKS-00B3A0
DeviceID:  (\\.\PHYSICALDRIVE0)
Letter = C:   -208931957
Drive = WDC WD3200AAKS-00B3A0, DeviceID = \\.\PHYSICALDRIVE0           Partition = Disk #0, Partition #0
Letter = D:   -208931957
Drive = WDC WD3200AAKS-00B3A0, DeviceID = \\.\PHYSICALDRIVE0           Partition = Disk #0, Partition #1
Время выполнения не прописалось. А где его посмотреть я не знаю.
Изменено: iNic - 10.02.2015 10:24:16
 
Цитата
Юрий М пишет:
Или объявите переменную )
Мой метод проще. :D
There is no knowledge that is not power
 
Скрытый текст


.
Страницы: Пред. 1 2
Наверх