trialtimeunit.pas

来自「一套完整的软件保护示例 ├──Check..............软件保护」· PAS 代码 · 共 57 行

PAS
57
字号
unit TrialTimeUnit;

interface

uses Base64Unit,Registry,Windows,SysUtils;

  function TrialTime(TrialInt:Integer):Integer;

implementation

//********************************************
//软件试用期设置函数 - 次数信息写入注册表
//作者:史子荣
//********************************************
function TrialTime(TrialInt:Integer):Integer;
var
  Reg:TRegistry;
  RegStr,TempStr:String;
  CountInt:Integer;
begin
  RegStr:='';TempStr:='';CountInt:=0;
  try
    Reg:=TRegistry.Create;//创建对象
    Reg.RootKey:=HKEY_CURRENT_USER;
    RegStr:='\Software\Pefine';
    if Reg.OpenKey(RegStr,False) then
      TempStr:=Reg.ReadString('TrialTime');
    Reg.CloseKey;
    if TempStr='' then//如果为空代表是第一次使用软件
      begin
        if Reg.OpenKey(RegStr,True) then
          Reg.WriteString('TrialTime',Base64Encryption('1'));
        Reg.CloseKey;
        Result:=1;
      end
    else//不是第一次使用软件把值加1
      begin
        CountInt:=StrToInt(Base64Decryption(TempStr));
        if TrialInt=CountInt then//如果试用期已到
          begin
            Result:=0;
            Exit;
          end;
        CountInt:=CountInt+1;
        Result:=CountInt;
        if Reg.OpenKey(RegStr,False) then
          Reg.WriteString('TrialTime',Base64Encryption(IntToStr(CountInt)));
        Reg.CloseKey;
      end;
    Reg.Destroy;
  except
    Result:=-1;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?