Календарь на Май 2024 года: calendar2008.ru/2024/may/
Навигация
Главная »  Новости 

Как создать shareware защиту?


Источник: snakesoft
Владимир Стеблевский
В этой статье мы поговорим о том как создать программу,в которой после регистрации (ввода лицензионного ключа) - отображаются скрытые возможности. Немного о том как работает защита... К примеру:кнопка "открыть cd-rom" недоступна чтобы она стала доступной нужно ввести регистрационный код.Мы нажимаем на "регистрация" появляется поле где мы вводим пароль. При нажатии на кнопку OK программа сохраняет то что мы набрали в реестре. При своем запуске программа считывает то что мы написали в реестре(т.е. пароль введенный ранее)и если он совпадаеи с тем который мы указали,тогда кнопка становится активной.В противном случае,кнопка остается неактивной. Итак делаем: 1).-запускаем полюбившийся нам делфи. 2).-создаем новый проект. 3).
caption=shareware width:=242 height:=140 BorderStyle=bsSingle Position=poScreenCenter uses=mmsystem,registry; 
4).Создаем 3 кнопки:button1,button2,button3 и текстовое поле edit1
button1.caption=Регистрация button2.caption=Открыть cd-rom button1.caption=Выйти edit1.text='snake software'//это код регистрации edit1.text.visible:=False;  //делаем текстовое поле невидимым  button2.enabled:=False //делаем неактивной кнопку "открыть cd-rom" --------------------------------------------------------------------- procedure TForm1.Button2Click(Sender: TObject); begin mciSendString('Set cdaudio door open wait', nil, 0, Form1.Handle);  end; -------------------------------------------------------------------- procedure TForm1.Button3Click(Sender: TObject); begin Halt; end; ------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin form2.show; form1.Hide; end; ------------------------------------------------------------------- 
5).Создаем вторую форму.
caption=registration width:=234 height:=75 BorderStyle=bsSingle Position=poScreenCenter uses=registry; 
6).Создаем кнопку(button1),и поле для ввода текста(edit1)
button1.caption=ok 
7).на событие кнопки onclick пишем:
var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CLASSES_ROOT; if Reg.OpenKey('\Micr.I1\CLSID', True) then begin Reg.WriteString('tr',edit1.text); Reg.CloseKey; end; finally Reg.Free; MessageDlg('Ща проверим!',mtInformation,[mbOk],0); inherited; end; HALT;  end; 
8).Возвращаемся к нашей Form1(первой форме).В вверху в var пишем pwd:string; На событие формы oncreate пишем:
var  Reg:TRegistry; begin try Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; {False because we do not want to create it if it doesn't exist} Reg.OpenKey('\Micr.I1\CLSID',False); pwd:=Reg.ReadString('tr'); finally Reg.Free; end; if pwd=edit1.Text then begin button2.Enabled:=True;  end; 


 

 Что делать если глаза устают от компьютера.
 Apple отказалась от батарей Samsung в iPad и MacBook в пользу китайских производителей.
 Как заставить компилятор C/C++ генерировать плохой код.
 Ошибки PHP: классификация, примеры, обработка.


Главная »  Новости 

© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено.