Delphi实现限定软件使用时间的方法
我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件。本文所述实例代码功能就是如何为Delphi所编写的程序添加使用时间的限制功能,这里默认的时限为30天。
主要代码如下:
unitUnit1;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,
Registry,Dialogs;
type
TForm1=class(TForm)
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:TForm1;
implementation
{$R*.DFM}
procedureTForm1.FormCreate(Sender:TObject);
var
registerTemp:TRegistry;
curDate:TDateTime;
begin
registerTemp:=TRegistry.Create;
withregisterTempdo
begin
RootKey:=HKEY_LOCAL_MACHINE;
//判断是否初次运行程序
ifOpenKey('Software\MySoftware',True)then
begin
ifReadBool('Runned')then
//不是第一次运行
begin
curDate:=Date;
if(curDate-ReadTime('LastRunTime'))>=ReadInteger('Duration')then
begin
//当前的系统时间超出了使用期限
ShowMessage('试用版已到期');
exit;
end
else
begin
DeleteKey('LastRunTime');
WriteTime('LastRunTime',Date);
end;
end
else
begin
//初次运行程序
DeleteKey('Runned');
WriteBool('Runned',True);
//设置试用期限30天
WriteInteger('Duration',30);
//写入当前运行时间
WriteTime('LastRunTime',Date);
end;
end
else
begin
ShowMessage('Fails!');
end;
CloseKey;
end;
end;
end.