怎样制做试用版程序(100分)

  • 主题发起人 myname7515
  • 开始时间
M

myname7515

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样制做试用版程序
 
A

aolo

Unregistered / Unconfirmed
GUEST, unregistred user!
在 FORMCREATE 中加入
var
Reg_id,Reg_id1: TDateTime;
RegisterTemp: TRegistry;
InputStr, Get_id: string;
Reg_tag, ClickDok: Boolean;
Allow: Integer;
begin
Allow := 30;
//试用期为30天
Reg_tag := False;
//软件是否到注册期
registerTemp := TRegistry.Create;
//准备使用注册表
with registerTemp do
begin
RootKey := HKEY_LOCAL_MACHINE;
//存放
if OpenKey('Software/Microsoft/Windows/CurrentSowft/tag', True) then
// 建一目录,存放标志值
begin
if ValueExists('DateTag1') then
//防止修改系统时间
begin
//在每次退出系统时,记录当前时间,下次运行时,作比较
Reg_id1 := ReadDate('DateTag1')
end
else
WriteDateTime('DateTag1', Now);
if now<Reg_id1 then
begin
showmessage('请不要更改系统时间');
formmain.Enabled:=false;
end;
if ValueExists('DateTag') then
begin
//用DateTag的值作为标志
Reg_id := ReadDate('DateTag');
//读出标志值
if (Reg_id <> 0) and (Now - Reg_id > Allow) then
//允许使用的时间到
Reg_tag := True;
end
else
WriteDateTime('DateTag', Now);
//建立标志,并置初始标志值。
end;

if Reg_tag then
begin
//要求用户输入注册码
ClickDok := InputQuery('您使用的是非注册软件,请输入注册码:', ' ', inputstr);
if ClickDok then
begin
Get_id := IntToStr(77*1009);
//注册码
if Get_id = InputStr then
begin
WriteDateTime('DateTag', 0);
//将标志值置为0,即已注册。
CloseKey;
Free;
end
else
begin
//若输入的注册码错误
Application.MessageBox('注册码错误!请与作者联系!', '警告框', mb_ok);
CloseKey;
Free;
Application.Terminate;
end;
end
else
begin
//若用户不输入注册码
Application.MessageBox('请与作者联系,使用注册软件!', '警告框', mb_ok);
CloseKey;
Free;
Application.Terminate;
end;
end;
end;
end;

 
顶部