Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

МАСТЕРЫЫЫЫ!!! ВОПРОС ЖИЗНИ И СМЕРТИ !!!! [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 - смотри кладовку


Наверх

Титульная страница Поиск, карта сайта Написать письмо