![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
МАСТЕРЫЫЫЫ!!! ВОПРОС ЖИЗНИ И СМЕРТИ !!!! [D3]
sssss © (2001-09-23 14:15:00)Как определить серийный номер винта из под 9х\2000\NT???
ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Andrey Klimov (2001-09-26 12:52:00) [1]Физический номер можно определить только для IDE винчестеров. А как для SCSI? В данном случае вопрос звучал не "как определить физический серйный номер", а просто "серийный номер", т.е. логический, который дается при форматировании, который, опять же можно изменить без форматирования... Насколько я понимаю, автор вопроса планирует использовать эту информацию, например, при организации защиты своего ПО. Вполне логично, учитывая, что форматирование винта тождественно замене оборудования с точки зрения защищенного софта (все равно весь софт потом переустанавливается с нуля).
Кстати, было бы крайне интересно узнать как определить физический серейный номер винта для SCSI (если такой номер в этих дисках есть). Не подскажет ли уважаемый vic_vm © как этого достичь? Было бы очень полезно об этом знать.
vic_vm (2001-09-25 23:26:00) [2]Сколько раз уже этот вопрос задавали и все равно задают!!!!!!!
Посмотри http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=996668472&n=2
неплохой пример получения физического номера винта.
Есть еще способы (чтение портов IDE напрямую - в 9х это вполне можно реализовать если постараться) но они довольно таки сложные.
СКОЛЬКО РАЗ УЖЕ ГОВОРИЛИ - GetVolumeInformation дает логический номер - номер который дается при форматировании и после следующего форматирования он будет абсолютно другой. И ВСЕ РАВНО КАЖДЫЙ РАЗ кто-то да посоветует это.
Andrey Klimov (2001-09-24 22:42:00) [3]var
VolumeName,
FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWORD;
MaxComponentLength : DWORD;
FileSystemFlags : DWORD;
begin
GetVolumeInformation(PChar("C:\"),
VolumeName,
MAX_PATH,
@VolumeSerialNo,
MaxComponentLength,
FileSystemFlags,
FileSystemName,
MAX_PATH);
...
...
...
//"Volume Name:"+ VolumeName;
//"Volume Serial No: $"+IntToHex(VolumeSerialNo,8);
//"Comp Len: "+IntToStr(MaxComponentLength);
//"Flags: $"+IntToHex(FileSystemFlags,4);
//"File System Name: "+FileSystemName;
end;
Фирштейн?
aus (2001-09-24 13:18:00) [4]GetVolumeInformation(...........)
hotfix (2001-09-23 16:39:00) [5]Ответ был - библиотека X2000 - смотри кладовку