Форум: "Основная";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизОдна копия программы Найти похожие ветки
← →
Гоша (2006-05-15 14:11) [0]Мастера, как сделать так чтобы программа работала только на определенном компьютере, то есть если ее скопируют на другой комп, она должна выдать сообщение о не законном копировании или т.п. ??? Спасибо заранее!
← →
Jeer © (2006-05-15 14:26) [1]Понять чем один компьютер отличатся от другого и какое отличие является критическим.
← →
boalse © (2006-05-15 15:20) [2]Можно, например, узнать серийный номер винчестера того компа, на котором программа работать должна. При старте получать номер винчестера и сравнивать его с нужным.
← →
KilkennyCat © (2006-05-15 15:30) [3]Запись в реестре.
Все остальные, к железяке привязываемые (за исключением хасп-ключа) - в топку.
← →
Гоша (2006-05-15 16:29) [4]Всем спасибо !!! Нет ли у кого нибудь функция получения серийного номера жест.диска ???
← →
Мастер дельфи (2006-05-15 16:33) [5]Серийный номер Биоса не нужен?
function GetBiosNumber: string;
begin
result := string(pchar(ptr($FEC71)));
end;
← →
MetalFan © (2006-05-15 16:35) [6]
>
> function GetBiosNumber: string;
> begin
> result := string(pchar(ptr($FEC71)));
> end;
мне кажется, что это работать в NT не будет...
← →
boalse © (2006-05-15 16:37) [7]Есть. Спасибо Алексею Коншину
http://home.earthlink.net/~akonshin/delphi_ru.htm
Функция глючит на win 98-ой.
Не путать серийный номер диска с серийным номером тома.
← →
boalse © (2006-05-15 16:39) [8]>мне кажется, что это работать в NT не будет...
Так и есть, не работает.
← →
Мастер дельфи (2006-05-15 16:45) [9]Result := "";
FillChar(Buffer, BufferSize, #0);
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin // Windows NT, Windows 2000
// Get SCSI port handle
hDevice := CreateFile("\\.\Scsi0:", GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if hDevice = INVALID_HANDLE_VALUE then
Exit;
try
srbControl.HeaderLength := SizeOf(SRB_IO_CONTROL);
System.Move("SCSIDISK", srbControl.Signature, 8);
srbControl.Timeout := 2;
srbControl.Length := DataSize;
srbControl.ControlCode := IOCTL_SCSI_MINIPORT_IDENTIFY;
pInData := PSendCmdInParams(PChar(@Buffer) + SizeOf(SRB_IO_CONTROL));
pOutData := pInData;
with pInData^ do
begin
← →
KilkennyCat © (2006-05-15 16:46) [10]гы... замечательно. одна под нт не работает, другая под 98 глючит, а в остальном, прекрасная маркиза, все хорошо, все хорошо...
← →
Recall (2006-05-15 16:50) [11]Раскидай в System32 свои dll файлы без готорых не будет работать и все. Зачем голову морочить.
← →
Desdechado © (2006-05-15 18:29) [12]Recall (15.05.06 16:50) [11]
нормальные программы имеют инсталлятор
поэтому раскидывать длл он будет одинаково на любой машине
← →
TStas © (2006-05-15 19:57) [13]Есть один кривой путь, но рабочий, как с гарантией номер диска получить сервером сценариев и должен на всех компах работать, где злобные админы сервер сценариев не запретили
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c