Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Одна копия программы   Найти похожие ветки 

 
Гоша   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
2-1149755108
Perf2k2
2006-06-08 12:25
2006.06.25
Вопрос по алгоритму


15-1148988135
vigo_
2006-05-30 15:22
2006.06.25
Функция перевода рус. сивола в лат.?


15-1149152342
ПЛОВ
2006-06-01 12:59
2006.06.25
Как такое сделать то?


2-1149180963
susergey
2006-06-01 20:56
2006.06.25
Как определить имя пользователя в сети


2-1149491203
bevaine
2006-06-05 11:06
2006.06.25
преобразование