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.