加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi实现限定软件使用时间的方法

发布时间:2020-12-15 04:24:17 所属栏目:大数据 来源:网络整理
导读:我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件。本文所述实例代码功能就是如何为Delphi所编写的程序添加使用时间的限制功能,这里默

我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件。本文所述实例代码功能就是如何为Delphi所编写的程序添加使用时间的限制功能,这里默认的时限为30天。

主要代码如下:

unit Unit1;
interface
uses
 Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Registry,Dialogs;
type
 TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;
var
 Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
  registerTemp : TRegistry;
  curDate : TDateTime;
begin
  registerTemp := TRegistry.Create;
  with registerTemp do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    //判断是否初次运行程序
    if OpenKey('SoftwareMySoftware',True) then
    begin
      if ReadBool('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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读