С правами админа можешь ещё s/n биоса до кучи зацепить, правда не на всех моделях он на том смещении 187106670__bios.zip
Ms Rem (сорри за глупый вопрос), но функция возвращает пустую строку. Буду еще больше благодарен если Вы укажите что к чему в коде или где это почитать.
Забыл сказать, что функция работает только под Windows NT. Суть этого кода состоит в открытии девайса Scsi0 созданого драйвером диска (в системе для каждого жесткого диска создается такой девайс, номеруются они с нуля) и посылки ему кода IOCTL_SCSI_MINIPORT_IDENTIFY, в ответ на который драйвер диска возвращает информацию о нем. Подробнее о IOCTL кодах файловой системы сожно почитать в MSDN. Этот метод работает только при наличии поддержки SMART жестким диском и драйверами. В этом его основной недостоток. Недостаток чтения серийника биоса из фиической памяти в том, что для этого требуются права администратора.
Можно воспользоваться старым приемом - создание DOS-приложения, которое сбросит дамп памяти на выходной поток. В этом случае права админа не нужны.
Скачал исходник драйвера на masm для опеределения sn диска, не работает... http://www.wasm.ru/src/6/Read_ser.zip Система WinXP SP2. Выдает "Hard disk serial number not reading (IOS is busy ?) !" Может кто-н скажет почему?
номер биоса может быть по разным смещениям серийный номер первого HDD - только при условии поддержки SMART номер тома меняется после форматирования А есть что-нибудь реально постоянное и что можно наверняка получить независимо от разных условий?
Кстати, привязку к винту реализовал, правда код Ms Rem не работает (видимо я не понял). А на счет SMART - его ведь можно и включить + при снятии SN это будет видно, из 10 компов у 1 я не смог снять... Идельный вариант если прога в сети. Там можно часть обработки возложить на сервер, а подключение уже строго отслеживать (иден/аутен и т.п.). Кстати, кто хочет проверить мою защиту? Один чел разложил меньше чем за час - еще и мне расказал как работает защита )))