icelock判断注册是否有效的BUG

GetHDSerialNumber在通过快捷方式点进去会取不到数据。屏蔽红色段即可

function tIceLock.LoadKeyFile : Integer;
var
  r  : rIceRecord;
  pa : pIceArray;
  f  : file of aIceArray;
begin
  IsRegistered := false;
  AssignFile(f,fKeyFileName);
  {$I-}
  reset(f);
  {$I+}
  LastIoResult := IoResult;
  if LastIoResult = 0 then
  begin
    pa := @r;
    {$I-}
    read(f,pa^);
    {$I+}
    LastIoResult := IoResult;
    if LastIoResult = 0 then
    begin
      EncryptRecord(@r);

      //if r.HDSerialNo <> GetHDSerialNumber then
      {+++ Current HDserialNo must be same as the one where KeyFile was
           Saved, if not, this is an invalid copy.
      }
      //  LoadKeyFile := ieNotSameHD
      //else
      if (r.DemoLicense) and (Date > r.ExpirationDate) then
      {+++ If License type is temporary and current date is after expiration
           date, this license is over.
      }
        LoadKeyFile := ieExpired
      else
      if CheckKey(r.Name,r.Key) then
      begin
        UserName := r.Name;
        UserKey  := r.Key;
        {+++}
        fDemoLicense := r.DemoLicense;
        fExpirationDate := r.ExpirationDate;
        {+++}
        LoadKeyFile := ieOkay;
        IsRegistered := true;
      end
        else LoadKeyFile := ieInvalidKey;
    end
      else LoadKeyFile := ieFileError;
    closefile(f);
  end
    else LoadKeyFile := ieFileError;
end;

posted @   毛小毛  阅读(304)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示