Форум: "Система";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизСерийные номера HDD, мать .... Найти похожие ветки
← →
rambler (2002-02-08 18:50) [0]Плиз, как получить серийные номера HDD, матери процессора.
Хотелось бы сделать привязку ПО для защиты от несанкционировнного копирования, вернее сделать бессмысленным.
ПО не получит широкого распространения т.к. оно узко специализированное и для достоверности информации получаемой от пользователей необходим строгий учет пользователей ПО.
← →
y-soft (2002-02-10 22:15) [1]Один из самых задаваемых вопросов :)
http://www.winsim.com/diskid32/diskid32.html (целых 2 варианта - с выходом в Ring0 и с VXD - с исходниками на CPP)
P.S. И что мы так пользователей своих программ не любим...
← →
rambler (2002-02-11 06:37) [2]Пользователей то мы любим, но вот они норовят при ЧП какого либо уровня (место применения прог-мы АВИАЦИЯ) подсунуть не сосвсем корректную информацию, а так по номеру ПО и регистрации будет известно кто и когда....
Сенкс за ответ. ;)
← →
y-soft (2002-02-11 08:56) [3]IMHO привязка к железу не самый лучший способ (больше проблем, чем выгод).
Есть другие способы - протоколирование системных событий, например, в закодированном виде, и разграничение уровней доступа пользователей.
← →
batja (2002-02-11 09:21) [4]А все же можно получить MOdeboard id и Prosessor id из Delphi6 под Win2k и как это сделать? А то начинка у компов частенько меняется, а о софте и говорить нечего, а хотелось бы более-менее полуавтоматический учет завести на предприятии
← →
Poirot (2002-02-12 06:28) [5]Товарищь, y-soft... Вы сами-то этто код использовали, а то после него у меня винт до сброса кмоса не определялся... прикольно...
← →
y-soft (2002-02-12 17:58) [6]>Poiriot
Пробовал под W2K - никаких проблем, причем один HDD вообще в CMOS не определяется (большой слишком), а программа его определяет верно
Вообще-то я дал ссылку, что бы из исходников стали ясны подходы, как из Windows работать с контроллерами IDE напрямую.
А так все претензии к авторам :)
Интересные вещи по прямому доступу к HDD есть так же на
http://pascal.sources.ru/disks/hdd_num.htm
http://home.arcor.de/christian_grau/rescue/index.html
← →
Victor (2002-02-13 06:43) [7]Получить номер винта:
procedure TForm1.Button1Click(Sender: TObject);
var VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;begin GetVolumeInformation("C:\", nil, 0, @VolumeSerialNumber,
MaximumComponentLength, FileSystemFlags, nil, 0);
SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + "-" +
IntToHex(LoWord(VolumeSerialNumber), 4); Memo1.Lines.Add(SerialNumber);end;
Усё
← →
Anatoly Podgoretsky (2002-02-13 23:46) [8]Что по твоему значит слово VOLUME в названии функции?
← →
Poirot (2002-02-14 01:05) [9]>>Victor
Заблуждение... Английский учите, батенька... И головой думайте, о чём пишите... Тут вам не ЛАМЕРА сидят... Неслабо, а ещё с высшим образованием...
>>y-soft
Вы меня не совсем правильно поняли... Я имел ввиду он (BIOS) выдавал примерно следующее... ##$@!@^^%$##@@@#$$%#!@@#$
или тоже самое по диагонали... Win2K грузился только после включения винта ключиком... т.е. виннт отрублен... включаешь тачку и апосля только винт ключиком и всё грузится, но выдаётся ошибка на синем...
← →
y-soft (A) (2002-02-16 17:34) [10]>Poirot
В основе всех программ для определения s/n HDD лежит обращение непосредственно к контроллеру IDE (посылается команда IDENTIFY DEVICE или IDENTIFY PACKET DEVICE. В ответ контроллер возвращает структуру размером 512 байт, в которой много чего интересного понаписано). В DOS это проделывается элементарно, а в Windows приходится прибегать к ухищрениям (получать доступ к ring0 или использовать драйвер VXD). Причем в NT/2000/XP и 9X/Me применяются разные способы. В исходниках старой и новой версий Diskid32 у Lynn McGuire четко все это показано. Судя по обсуждению на CodeGuru, проблем такого рода, как у Вас ни у кого не возникало. Так что видимо дело в особенностях Вашего компьютера.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c