Что нового

Как прикрутить к скрипту "HardDriveInfo.dll" для определения серийника жесткого?

centaur

Новичок
Сообщения
12
Репутация
0
Возникла необходимость привязать скрипт/программу к железу.
В процессе поиска подходящего железа наткнулся на такую библиотеку "HardDriveInfo.dll" (http://www.diskserialnumber.com/ ).
Решил остановиться на привязке программы в винту машины, но вот в прикручивании dll-ок не силен.
Помогите разообраться и прикрутить.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 712
Прикрутить не проблема, но во-первых это COM, а во-вторых нужна документация на этот DLL, на сайте я так ничего и не нашел.
 
Автор
centaur

centaur

Новичок
Сообщения
12
Репутация
0
Там есть примеры с использованием библиотеки.. но вот я ни одним из предложенных языков не владею, чтоб грамотно разобраться с использованием dll-ки :(
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 712
Я кликал на примеры, но ссылки там неверные.
 
Автор
centaur

centaur

Новичок
Сообщения
12
Репутация
0
на Visual-Basic я пример скачал, но разобраться в нем не хватило знаний :(
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 712
У нас на форуме уже обсуждалась эта проблема...

*click*
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
centaur
Еще есть такая UDF: DeviceAPI
 
Автор
centaur

centaur

Новичок
Сообщения
12
Репутация
0
спасибо! час просматривал форум - не увидел, поиск тоже меня не понял :smile: .... видимо пропустил.
Тема закрыта.
 
Автор
centaur

centaur

Новичок
Сообщения
12
Репутация
0
вот на глаза попался еще один интересный код по данному вопросу:
http://forum.ru-board.com/topic.cgi?forum=5&topic=17705&start=1820
(немного под свои нужды подправил)
Код:
$strComputer = "."

$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")

For $objItem In $colItems
    MsgBox(0, "HDD serial number", $objItem.SerialNumber)
	ExitLoop
Next
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 712
У меня выдает пустую строку.
 
Автор
centaur

centaur

Новичок
Сообщения
12
Репутация
0
я добавил к коду ExitLoop, т.к. серийник винта программа мне выдала первым и я видимо ошибочно решил, что всегда первым выдается серийник загрузочного винта.

Попробуйте убрать в коде ExitLoop и получите серийники всех установленных накопителей.

Код:
$strComputer = "."

$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")

For $objItem In $colItems
    MsgBox(0, "HDD serial number", $objItem.SerialNumber)
Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
У меня работает (Win XP SP3) :smile:
 
Верх