![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Одна копия программы [D7, WinXP]
Гоша © (2006-05-15 14:11:00)Мастера, как сделать так чтобы программа работала только на определенном компьютере, то есть если ее скопируют на другой комп, она должна выдать сообщение о не законном копировании или т.п. ??? Спасибо заранее!
TStas (2006-05-15 19:57:00) [1]Есть один кривой путь, но рабочий, как с гарантией номер диска получить сервером сценариев и должен на всех компах работать, где злобные админы сервер сценариев не запретили
Desdechado (2006-05-15 18:29:00) [2]Recall (15.05.06 16:50) [11]
нормальные программы имеют инсталлятор
поэтому раскидывать длл он будет одинаково на любой машине
Recall (2006-05-15 16:50:00) [3]Раскидай в System32 свои dll файлы без готорых не будет работать и все. Зачем голову морочить.
KilkennyCat (2006-05-15 16:46:00) [4]гы... замечательно. одна под нт не работает, другая под 98 глючит, а в остальном, прекрасная маркиза, все хорошо, все хорошо...
Мастер дельфи (2006-05-15 16:45:00) [5]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
boalse (2006-05-15 16:39:00) [6]>мне кажется, что это работать в NT не будет...
Так и есть, не работает.
boalse (2006-05-15 16:37:00) [7]Есть. Спасибо Алексею Коншину
http://home.earthlink.net/~akonshin/delphi_ru.htm
Функция глючит на win 98-ой.
Не путать серийный номер диска с серийным номером тома.
MetalFan (2006-05-15 16:35:00) [8]
>
> function GetBiosNumber: string;
> begin
> result := string(pchar(ptr($FEC71)));
> end;
мне кажется, что это работать в NT не будет...
Мастер дельфи (2006-05-15 16:33:00) [9]Серийный номер Биоса не нужен?
function GetBiosNumber: string;
begin
result := string(pchar(ptr($FEC71)));
end;
Гоша (2006-05-15 16:29:00) [10]Всем спасибо !!! Нет ли у кого нибудь функция получения серийного номера жест.диска ???
KilkennyCat (2006-05-15 15:30:00) [11]Запись в реестре.
Все остальные, к железяке привязываемые (за исключением хасп-ключа) - в топку.
boalse (2006-05-15 15:20:00) [12]Можно, например, узнать серийный номер винчестера того компа, на котором программа работать должна. При старте получать номер винчестера и сравнивать его с нужным.
Jeer (2006-05-15 14:26:00) [13]Понять чем один компьютер отличатся от другого и какое отличие является критическим.