查看: 16|回覆: 0

[教程] Delphi实现限定软件使用时间的方法

[複製鏈接]

4

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-4-6
發表於 2014-7-24 11:10:15 | 顯示全部樓層 |閲讀模式

我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件。本文所述实例代码功能就是如何为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('Software\MySoftware',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.
您可能感兴趣的文章:
  • Delphi实现窗口文字淡入淡出渐变效果的方法
  • delphi简单判断程序30秒没有键盘和鼠标动作示例
  • Delphi编程常用快捷键大全
  • Delphi实现获取磁盘空间大小的方法
  • Delphi实现图像文本旋转特效完整实例代码
  • Delphi实现图片滚动切换的完整实例代码
  • Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部