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;