Delphi 简单的软件注册Demo


本文整理自网络,侵删。

 

procedure TMainForm.FormCreate(Sender: TObject);
var
  MyReg : TRegistry;
  InsDate, LastUseDate, TryDate : TDateTime;
  Total : PAnsiChar;
  TotalStr : String;
begin
  MyReg := TRegistry.Create;
  MyReg.LazyWrite := False;
  MyReg.RootKey := HKEY_LOCAL_MACHINE;
  MyReg.OpenKey('\software\XJDZ_REG\LastUsed',true);
  MyReg.WriteString('',DateToStr(Date));
  MyReg.CloseKey;
  MyReg.OpenKey('\software\XJDZ_REG\InsDate',true);
  //是否第一注册
  if MyReg.ReadString('') = '' then
      MyReg.WriteString('',DateToStr(Date))
  else
    begin
      //MessageBox(MainForm.Handle,'','非第一次注册',MB_OK);
      InsDate := StrToDate(MyReg.ReadString(''));
      //Total := PAnsiChar(IntToStr(Round(abs(Date - InsDate))));
      TotalStr := IntToStr(Round(abs(Date - InsDate)));
      //MessageBox(MainForm.Handle,'注册时间',Total,MB_OK);
      if  Round(abs(Date - InsDate)) >= 3  then
      begin
        MessageBox(MainForm.Handle,PAnsiChar('注册天数:'+ TotalStr +'天,请注册!'),'注册时间',MB_OK);
        Halt;
      end
      else
      begin
        MessageBox(MainForm.Handle,PAnsiChar('注册天数:'+ TotalStr +'天,请及时注册!'),'注册时间',MB_OK);
      end;
 
    end;
 
end;


对其注册表的写入的数据,进行简单的转换,可以加强安全性。

来源:https://blog.csdn.net/w709835509/article/details/8903884

相关阅读 >>

Delphi 设置系统启动文件夹自身开机自动运行

Delphi stringgrid行列的增加和删除

Delphi 自定义消息拦截

Delphi 10 firedac 连接池设置

Delphi dbgrids 组件内实现查询

Delphi二值图像腐蚀算法

Delphi topendialog打开和取消按钮的选择

Delphi判断某个程序是否已经启动

Delphi路径分割符处理相关函数

Delphi 设置开机自动启动函数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...