Заводской номер винчестера

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 23.01.2005 (Вс) 22:07

Визуальго совпадения нет...
данные по HDD
FSODrive - "-1127451654"
Drive и др. "BCCC-73FA"

а вот номера дискеты:
FSODrive - "-1127451654"
Drive и др. "845D-3964"
Но опять таки при форматировании дискеты ее номер сменился (причем не зависит какое формат. применяешь "быстрое" или "полное":
FSODrive - "741409479"
Drive и др. "2C31-2C7"
что делать???

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.01.2005 (Пн) 9:11

Визуальное совпадение полное...
Выполни это:
Код: Выделить всё
Debug.Print Hex(-1127451654), Hex(741409479)
- увидишь те же самые буквы.
Изображение

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 24.01.2005 (Пн) 11:04

Остались только 2 программы, которые показываю ПРАВИЛЬНО (совпадает со стикером на HDD):
HDD_Num - работает со своими файлами (которые еще нужно устанавливать в Системную), постоянно всплывает сообщение (Unregistred shareware) + не лишено ошибок
HDDSerial - на который я в общем-то и расчитываю. Только кажется Arech ее проверял - на SATA не пошла - только под IDE. Можно ее переделать? сделать универсальной?..

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 24.01.2005 (Пн) 11:21

а так не пробовали?))))

Set objWMIService = GetObject("winmgmts:")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")
For Each objItem In colItems
ьыпищч objItem.SerialNumber

Next


только нужный драйв нужно проидентифицировать.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 24.01.2005 (Пн) 20:13

Действительно работает... совпадает с кодом на стикере HDD - "662201924638 " (в конце номера, где пробел - там их на самом деле 8. Это тоже часть № или нет?)
(HDD_Num, HDDSerial выдают тот же номер).
Только у меня стоит 1 HDD (IDE).
Мне нужно проверить как будет работать этот код:
- с двумя HDD
- с интерфейсом SATA
просьба кто может - проверьте

P.S. запуск EXEшника с этим кодом с дискеты - выдал тоже номер моего HDD

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 27.01.2005 (Чт) 1:47

Время идет, а у меня защита все еще не готова:
Просьба к тем у кого 2 HDD, 1 HDD разбитый на 2 логических,
ОСОБЕННО меня интересует работает ли код Sebas на интерфейсе SATA...
Очень нужно.

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 02.02.2005 (Ср) 10:56

Итак, протестил у себя (счас у меня тока 4 SATA + флэшка)

на всех моих дисках он выдал не то что пустую строку, он передал Null.... так что для SATA такое не канает...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.02.2005 (Ср) 11:52

вот попробуй с помощью этого:
Вложения
HDD Info.rar
(10.13 Кб) Скачиваний: 192

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 02.02.2005 (Ср) 13:03

Konst_One
ну твой код выдает одинаковые серийники, для одинаковых хардов... как я понимаю, этого быть не должно...

да, ещё, не понятно почему, серийники таким образом выдаются только для хардов подключенных через внешний контроллер (PCI), а к встроенному, говорит ничего не подключенно... хотя у меня совершенно другое мнение...

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 02.02.2005 (Ср) 15:22

2areh
Я начал проверять на других компах с установленными SATA
- стоит 1 деленный на 3 (прога выдала 1 номер - как и должно быть)
- проверил на 3-х IDE (на 2-х из них этот номер выбит на HDD, а второй - старый, но то, что он выдал ~ 30 символов, тоже можно использовать.
P.S. у тебя 4 физических диска или это 1 деленный на 4?
- а что с номером флешки?

2Konst_One
Твой код работает у меня на IDE. Только там в коде через строчку встречается IDE, может он для SATA не годится? Мне нужен универсальный код, чтоб работал и с IDE и c SATA.

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 03.02.2005 (Чт) 7:41

у меня 4 физических... по 200 Гб :)

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 03.02.2005 (Чт) 11:12

2areh, ты меня расстраиваешь...

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 03.02.2005 (Чт) 15:16

всмысле ты расстроился, из-за того что у меня 4 харда?

выложи сюда ещё раз прогу, которой ты тестируешь...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 03.02.2005 (Чт) 15:35

2cashman

ответ на личку

Ыы.... через Wmi надо будет пройтись по отношениям:

находишь нужный

Win32_LogicalDisk

через связку Win32_LogicalDiskToPartition
получаешь Win32_DiskPartition

через связку Win32_DiskDriveToDiskPartition
получаешь Win32_DiskDrive

через связку Win32_DiskDrivePhysicalMedia
получаешь Win32_PhysicalMedia

Что сказать? Разбирайся с WMI - оч нужная вещь.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 05.02.2005 (Сб) 0:12

2Sebas
звучит как приговор...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.02.2005 (Пн) 10:34

малюют...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 07.02.2005 (Пн) 21:21

Нашел страничку
Код: Выделить всё
http://www.webtropy.com/articles/wmi/
с описанием WMI разных - ничего не понял в плане применения к моей проге в VB.
P.S. Что зачит "малюют"?..

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 08.02.2005 (Вт) 9:52

теряешь корни, обратись к истории))))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 10.02.2005 (Чт) 0:32

в смысле?..(((

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 10.02.2005 (Чт) 0:56

WMI вещь хорошая
Вложения
SYSTEMINFO.rar
Определение системных параметров через WMI, хорошая вещь
(3.62 Кб) Скачиваний: 197
Изображение

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 10.02.2005 (Чт) 2:36

2HotKitten
Это ОЧЕНЬ полезный исходник.
Только мне его так и не удалось преобразовать так, чтобы совместить с кодом Sebasa (на стр.3) для определения № конкретного HDD (с которого запущена программа), а не системного...

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 10.02.2005 (Чт) 12:41

А как вы смотрите на вариант использования информации раздела реестра HKLM\SYSTEM\CurrentControISet\Enum\IDE
там для каждого физического диска есть ключ HardwareID

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 10.02.2005 (Чт) 12:48

marvan писал(а):А как вы смотрите на вариант использования информации раздела реестра HKLM\SYSTEM\CurrentControISet\Enum\IDE
там для каждого физического диска есть ключ HardwareID


Он остаётся после снятия устройства))) Да и он не спасает, чё с него толку?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 10.02.2005 (Чт) 13:07

Он остаётся после снятия устройства))) Да и он не спасает, чё с него толку?

то, что он остаётся это не плохо. способ больно заманчив, никаких дополнительных библиотек не требует.
вопрос - на сколько этот ID уникален, что будет если искуственно добавить в этот раздел новую запись с инфой о диске к которому привязана программа, прод всеми ли виндами есть этот раздел.

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 10.02.2005 (Чт) 19:04

Все что можно изменить программно, а тем более маломальски зная реестр - "Не есть хорошая защита"...
WMI - это решение, но пока с миру по нитке (((

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 14.02.2005 (Пн) 6:12

А нет такого справочника по WMI, как те что выкладывали на форуме по API???

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.02.2005 (Пн) 10:03


cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 14.02.2005 (Пн) 14:06

Спасибо, а в виде файла такая база не существует. Так чтобы скачал и спокойно разбирался на своем компьютере.

moshkin
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 03.12.2002 (Вт) 15:01
Откуда: Russia

Сообщение moshkin » 29.07.2005 (Пт) 12:09

Решил добавить:
(я знаю что уже прошло много времени. Но на форуме всего два поста про определение серийника винта, и пока в них разберешься, пока все попробуешь, потому решил добавить свой опыт)
Konst_One выложил файлик "HDD Info"
я поставил в систему в HDD один SATA (родной, системный) другой IDE.
У обоих дисков правильно определяются и модели дисков и серийные номера. Винты были Maxtor SATA 160Gb и Maxtor IDE 60 Gb.
Так что вроде работает. Буду еще проверять.
Большое спасибо всем проделавшим такую большую работу по тестированию способов определения номеров дисков.
И конечно спасибо Konst_One.

vek
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 10.11.2005 (Чт) 16:52

Сообщение vek » 10.11.2005 (Чт) 18:13

Хочу поднять забытую всеми тему, т.к. не могу сам разобраться :? посему буду просить помощи. Нашел этот пример, все хорошо вот только из 1С-ки не могу я вызвать WMI-моникер (мозгов не хватает), можно как-то это переиначить на создание объекта и собственно работу с ним?
Код: Выделить всё
Set objWMIService = GetObject("winmgmts:")

'objWMIService = CreateObject("WbemScripting.SWbemLocator")
'сработает ли это?

Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")
For Each objItem In colItems
msgbox objItem.SerialNumber
next

возможно ли в данном примере заменить For Each/Next на for/next? если да то как?
Всем заранее спасибо.

Пред.След.

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

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

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

    TopList