Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.6.75] |
|
Сообщ.
#1
,
|
|
|
Как средствами Buildera(Delphi) узнать серийный номер хард диска (железяки).
|
Сообщ.
#2
,
|
|
|
Надо аккуратненько снять кожух системного блока, открутить жесткий диск и посмотреть серийный номер на его корпусе...
А про билдер забыл! Ну а на нем можно написать программу корректного завершения работы перед процессом с помощью функции. ::GetVolumeInformation() Только будте особенно осторожны, тк ее 4ый параметр форматирует интернет... иногда! P.S. Плющит... |
Сообщ.
#3
,
|
|
|
Тысячу раз говорили, что GetVolumeInformation возвращает инфу о томе, а не о диске.
2Frostbitten: очень остороумный ответ. Для дисков IDE можно использовать SMART API, т.е. не самих S.M.A.R.T. параметров, а только IDENTIFY. Для SCSI нужно подумать, но, если хочешь, то все лежит в registry после установки драйверов нового устройства. |
Сообщ.
#4
,
|
|
|
Вообще-то есть WMI класс такой Win32_DiskDrive и у него есть поле DeviceID.
Но я этого никогда не юзал, поэтому сказать ничего не могу. Подробностьи смтори http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/r_32hard2_2wv9.asp |
Сообщ.
#5
,
|
|
|
Смешно видеть, как народ устремленно каждый месяц наступает на одни и те же грабли!
2 frostbitten: Девочки из второго класса смеялись бы над двоим юмором! Однозначно! |
Сообщ.
#6
,
|
|
|
Объясните мне, тупице, почему вопрос так актуален? ???
|
Сообщ.
#7
,
|
|
|
патамуШта народ изо всех сил ищет способы привязать свои проги к компам пользователей ...
|
Сообщ.
#8
,
|
|
|
Если можно пободробнее насчет SMART API или других вариантов (для IDE), вообще я где-то видел рассмотрение этой функции, возможно на этом форуме, но никак не могу найти. Мне нужно прогу привязать к диску(железяке), т.е. поставить защиту от копирования, может кто знает другие варианты, но я считаю вариант привязки к харду самым подходящим для моей ситуации.
|
Сообщ.
#9
,
|
|
|
2rivitna:
Чем будут заниматься девочки во втором классе мне все равно - им же матерями становиться (в будущем) - не мне . Ответь только на вопрос: какая разница между номером из SMART, номером тома, ID пня, MAC адресом и чем там еще тужиться принято? Не, правда, какая? Зачем же тогда усложнять жизнь программисту (кракеру-то по барабану)? Пусть пользует GetVolumeInformation() и спит спокойно, в глубине души подозревая о том, какую же он все-таки мощную систему защиты сделал... Друзья! Будте милостивы! Не лишайте человека сна! Потому что ломали, ломаем и будем ламать. P.S. Только вот меня обидели! Теперь буду ночи не спать все думать - куда мы катимся, если второклашки над такими шутками смеются... да еще девочки! P.P.S. Ох, заплюсуют... |
Сообщ.
#10
,
|
|
|
Народ!!! Кончай демагогию пароть. У меня конкретный вопрос и конкретная задача. И я думаю никого не должно волновать для чего мне это нужно (для защиты своей проги или написания своего SysInfo).
Если "слабо", то так и нужно отвечать. А нести всякую х...ю совершенно не нужно, для этого есть другие форумы. p.s. Извиняюсь за грубость и заранее благодарю. |
Сообщ.
#11
,
|
|
|
2Frostbitten:
Крякеру и вправду по-барабану. Только серийный номер тома меняется при форматировании, параметр из SMART может скакать прямо во время работы, а вот 516(кажеться) байт IDE IDENTIFY меняются с заменой жесткого диска. Offtopic starts here------- А философия типа "вот тебе говно, думай, что это то, что ты просил, потому, что ты такой тупица, я такой крутой" мне не нравиться, не корректно, попробуй применить на себе. 2All: Анти-оффтопик: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q208048 Это линк на пример использования smart api, но, если я не ошибаюсь, в примере был баг или неточность, какая - убейте не помню. Внизу страницы есть очень ценные линки (для кого-то, а для кого-то - нет, потому, что он и так все сломает, sorry - просто ненанвижу такой вот надменный тон). |
Сообщ.
#12
,
|
|
|
2 sergey_pank:
Сразу бы сказал, что ты натура утонченная и ранимая, а нам все хиханьки-хаханьки... Смотри мою программку DevId32: http://www.sources.ru/asm/devid32.shtml Она на ASM'е, но если не тормоз, разберешься! 2 Frostbitten: Объясняю разницу: Серийный номер процессора определяется только для Pentium III и выше, что не все еще могут себе позволить. С MAC'ом не все так просто, тем более не везде есть сетевая карточка, так что и это не катит. Насчет же метки тома: привязываться к ней, быть уж совершенным лохом. По поводу защиты от взлома я согласен, ломается все, и городить лишний раз не стоит. Но как говорил всеми нами любимый президент ВВП: "Всех женщин не перецелуешь, но стремится к этому надо". Вот пусть он и стремится, по крайней мере он вырастет в профессиональном смысле. Пожалуй, с девочками-второклассницами я переборщил... Меня умилил твой ход мысли про их предстоящее материнство. Это сильно! Спи спокойно! Остряки-самоучки нам нужны и их надо беречь! PS: Кстати, тут один деятель заявил про команды SMART, мягко говоря, это наглые инсинуации: эти самые команды SMART (через DeviceIoControl) работают только в NT, потому что handle физического диска можно получить с помощью CreateFile только в NT. |
Сообщ.
#13
,
|
|
|
2rivitna:
Деятель - это я? Ну скачай себе пример и глянь на функцию OpenSMART. Потом извенись за "инсинуации", вышли пиво и начинай читать доки, а потом авторитетно вводи людей в заблужнение. P.S. Подсказка для win9x нужно поставить драйвер smartvsd, который при копировании в \windows\system начинает эти запросы обслуживать. |
Сообщ.
#14
,
|
|
|
2 bin:
О-ла-ла-ла! Обидели мышку - нагадили в норку! Когда я писал программу обнаружения устройств IDE/ATAPI, прочитал много документации (но не прочь еще почитать, за что мне не стыдно). Предлагаемый тобой из MSDN пример - самый кривой и противоречит самому MSDN. Я его частично реализовал в своей программке DevId32 касающейся работы в NT (ссылка выше). Итак, вопреки документации для NT команды SMART через DeviceIoControl работают только для HDD0 :( Посему предлагаю кроме бездумного чтения документации опробовать сей пример! Это в качестве лирического отступления. Итак, ближе к телу: Поддержка команд SMART с помощью smartvsd очень спорна и ограничена (при желании могу уточнить), хотя я частично согласен с замечанием по поводу smartvsd. Но и от своих слов не отказываюсь. Эта поддержка не интегрирована в Win9x в отличие от NT. То есть ты можешь сам написать драйвер, придумать для него команды (например, совпадающие со SMART). Подключиться с помощью CreateFile и работать через DeviceIoControl. Это и реализовано с помощью smartvsd для хоть какой-то поддержки как в NT, которой изначально не было. Работа с smartvsd - это криво и ненадежно, а также неприятна сама зависимость твоей программы от сомнительного драйвера smartvsd. Самый оптимальный и эффективный способ под Win9x - самостоятельно через Ring0. Кстати, smartvsd это и пытается реализовать. PS: Так что, друг сердешный, извЕни меня за невежество. Пиво присылать не буду, боюсь как бы твои щечки не треснули. Но тем не менее выпить с тобой не против. Что-то вразумительное ты все-таки изложил. :) |
Сообщ.
#15
,
|
|
|
PPS:
Забыл добавить, что драйвер smartvsd есть не везде в ОС Win9x, что несколько может огорчить при написании программы! |