-
Подскажите, как узнать серийный номер процессора и винчестера?
-
например, через WMI, классы Win32_Processor и Win32_DiskDrive
-
Мне попался пример "WMI.zip", в котором перечисляются все классы со всеми их данными. Так вот в классе Win32_DiskDrive, наверное, есть всё, кроме серийного номера HDD. На одном форуме видел пост, что там серийника быть и не должно, он есть в классе Win32_PhysicalMedia - да, свойство SerialNumber там есть, но в рез. данных только: instance of Win32_PhysicalMedia ; 1)Вот пример опредения через \\.\SCSI и IOCTL_SCSI_MINIPORT: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=181022)Вот через \\.\PhysicalDrive и Smart. Пример на C++. http://www.sql.ru/forum/actualthread.aspx?tid=378384(винт SATA II): 1 - не работает под Win64 и Vista. 2 - не работает под Vista (под админом DoEnableSmart выдаёт "неверная функция") У кого-нибудь есть рабочие примеры для приведенных случаев?
-
> У кого-нибудь есть рабочие примеры для приведенных случаев?
у Коншина ?
-
http://home.earthlink.net/~akonshin/delphi_ru.htmВ этом сайте есть 4 примера по сабжу, с сожалению, ни один из них не сработал на Win64 и Висте (да и там не сказано что проверялось на 64 бит и Висте). Пример ScsiSN использует $0004D004 - IOCTL_SCSI_PASS_THROUGH, но серийного номера там нет. (кстати чтоб это увидеть, нужно переделать пример): if DeviceIoControl( DeviceHandle, $0004d004, @sptwb, SizeOfTScsiPassThrough), @sptwb, len, dwReturned, nil )
then for i:=0 to 191 do write(sptwb.bDataBuf[i]) В описании var bDataBuf изменить на char и добавить i:byte. У меня есть рабочий пример (\\.\PhysicalDrive и Smart под админом) под Win64, но под Vista он не работает (DoEnableSmart выдаёт "неверная функция). На http://www.astra32.com/ru/ есть программа определяющая серийник под Вистой, так что сабж возможен :-)
-
-
Там чуть ниже :-) :
> SerialNumber > > Data type: string > Access type: Read-only > > Number allocated by the manufacturer to identify the > physical media. > > Example: WD-WM3493798728 > > Windows Server 2003, Windows XP, Windows 2000, and > Windows NT 4.0: This property is not available.
-
-
Спасибо за пример по WMI, но и он не справился с тем хардом на Висте. И дело, похоже не в Висте. Помню пару лет назад на Висте обычный IDE винт определялся смартом на раз-два.
В общем, винт c виду обычный Serail Ata. OS: Ms Windows Vista Home Basic 6.0.6000 В примере определяется как WDC WD25 00AAJS-00VWA SCSI Disk Device (так он называется в диспетчере устройств) По кнопке “Disk SMART” выдаёт «No SCSI Drive Serial Number Returned». В других местах серийника тоже нет (Ткните пальцем, плиз, если не туда жму).
Что выдаёт Astra32: Модель м. платы WinFast 6100M2MA Имя чипсета NVIDIA GeForce 6100/6150/nFoce 500 Family Чипсет C51 Host Bridge Южный мост MCP51 LPC Bridge
Hdd: Model: WDC WD25 00AAJS-00VWA Interface Type : Serial Ata II Serial: WD-WM[demo] Verdor ATA controller: Nvidia Name ATA controller: MCP51 SATA controller Location: Tertiary/Master.
Кстати у меня винт на WinXP64bit тоже Serial ATA II, определяется астрой, если просто выбрать «Жёсткий диск», а на той Висте нужно ещё включить “Внешний UDMA/SATA”, хотя винт в корпусе подключен сразу в материнку.
-
> а на той Висте нужно ещё включить “Внешний UDMA/SATA”, хотя > винт в корпусе подключен сразу в материнку.
может "дрова" коряво встали или не от него?
-
у процесоров нет серийника а у диска проще всего узнать серийник тома
-
Задачу то какую решаешь?
-
Задача: Получить серийный номер Hdd и использовать его для защиты ПО.
-
Прога testwmi.
> По кнопке “Disk SMART” выдаёт «No SCSI Drive Serial Number > Returned»
А что выдает по кнопке "Disk serial (xp)" ?
или по кнопке "Get Class or Query" Win32_PhysicalMedia в разделе SerialNumber.
Кстати, а нельзя ли привязаться к PNPDeviceID из Win32_DiskDrive ? Его легко вытащить и из системного реестра. Только вот насколько он уникальный и неизменяемый.
-
"Disk serial (xp)" --NULL "Get Class or Query" Win32_PhysicalMedia" -- NULL все кроме Tag.
> привязаться к PNPDeviceID
- интересная идея, конечно, но опять же сразу вопросы > насколько он уникальный и неизменяемый"
Мне, благодаря "Астре", уже хочется найти код для "Внешний UDMA/SATA”.
-
> обычный IDE винт
> винт c виду обычный Serail Ata
Хрень какая-то ..
Левый глаз видит на винте IDE-разъем, а правый глаз на том же винте видит SATA-разъем ?
-
Попробовал подключить IDE-диск через USB-адаптер - та же картина. testwmi его определяет, но в SerialNumber = NULL. По кнопке "Disk model" пишет ST322413A USB Device, также определяются размер, caption. Всё это из под ХР.
Нашел еще два параметра, ИМХО, уникальных:
Win32_BaseBoard SerialNumber (15-значный ID). Номер совпадает с номером на узкой наклейке со штрих-кодом, расположенной справа от разъема питания материнки (Asus P5K-E).
Win32_Processor ProcessorId (16-значное шестнадцатиричное число).
-
Сергей М. , это 2 разных HDD.
-
Nickoss, У меня Win32_BaseBoard SerialNumber выдал "MB-1234567890" для Asus P5B. ProcessorID более вменяемый правда.
-
> Nickoss © (06.05.09 20:43) [7] > > Нашел интересный архивчик с демкой по WMI. Серийник винта > определяется из под Висты.
Под админом только
-
> AllDontFire (07.05.09 18:39) [12] > > Задача: > Получить серийный номер Hdd и использовать его для защиты > ПО. >
А моэжет не стОит?
-
> Под админом только
??? И под обычным юзером всё работает, только что проверил. Отказано в доступе только по кнопке "Disk smart". По "Disk serial (xp)" и "Win32_PhysicalMedia" SerialNumber выдается та же инфа, что и под админом.
Vista Business SP1.
-
Удалено модератором
-
-
Удалено модератором
|