function CheckReg():integer;
var
  Reg:Tregistry;
  KeyName,TempCode,TempName,TempStr:string;
  Same:Integer;
  FirstDate,NowDate,RegNowDate:Tdate;
  NumberOfDays:real;
begin
  NoRegistry:=true;
  NowDate:=date; //取得运行时系统日期
  try
  //创建注册表,有该键则读取,无则创建
     Reg:=Tregistry.Create;
     Reg.RootKey :=hkey_local_machine;
     KeyName:='SYSTEM\SetupMyName\.NET';
     if Reg.OpenKey(KeyName,true) then
     begin
        try
          FirstDate:=Reg.ReadDate('Date');
          //非第一次则读入第一次运行时间
        except
          Reg.WriteDate('Date',NowDate);
          // 若为第一次运行,则写入系统日期
          FirstDate:=NowDate;
        end;        try
          RegNowDate:=Reg.ReadDate('RegNowDate');
          if Nowdate < RegNowDate then
          begin
            showmessage('您更改了系统时间,程序未注册并超过试用期将终止运行!');
            application.Terminate;//禁止运行
          end
          else
          begin
            Reg.WriteDate('RegNowDate',NowDate);
          end;
        except
          Reg.WriteDate('RegNowDate',NowDate);
        end;
     end;
     reg.CloseKey;
  finally
     reg.Free;
  end;  NumberOfDays:=Nowdate-FirstDate;
  SpareDays:=round(30-NumberOfDays);
  if ((NumberOfDays>30) or (NumberOfDays<-1)) then
  begin
    showmessage('程序未注册超过试用期,将终止运行,请购买正式版!');
    application.Terminate;
    Abort;
  end;
  Result:=SpareDays;
end;