判断软件是否注册(转)

 //先判断软件是否注册  
  integer   li_reg,li_return1,li_return2  
  string   ls_reg,ls_RegistMask,ls_days,ls_officialflag  
  date   ld_regdate  
  li_return2   =   RegistryGet   ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion","ProductDate"   ,   ls_officialflag)  
  if   li_return2   <>   1   then  
  messagebox("","您没有注册本产品,因此您只有30天的试用期!")  
  RegistrySet("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion","ProductDate",RegString!,f_encode(string(today(),'yyyy-mm-dd')))//对日期加密  
  tab_backup.tabpage_regist.st_summary.visible=false  
  else  
  if   ls_officialflag   =   f_encode("%^$$%$%^^%$$^&**")   then     //正版标志  
  messagebox("","欢迎使用ORACLE数据库自动备份系统!!")  
  tab_backup.tabpage_regist.sle_registid.visible   =   false  
  tab_backup.tabpage_regist.st_id.visible   =   false  
  tab_backup.tabpage_regist.sle_reguser.visible   =   false  
  tab_backup.tabpage_regist.cb_1.visible   =   false  
  tab_backup.tabpage_regist.cb_protocol.visible   =   false  
  tab_backup.tabpage_regist.mle_protocol.visible   =   false  
   
  tab_backup.tabpage_regist.st_user.visible   =   false  
  tab_backup.tabpage_regist.st_regmask.visible   =   false  
  tab_backup.tabpage_regist.sle_registmask.visible   =   false  
  //显示注册信息  
  RegistryGet   ("HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Control/ComputerName/ComputerName","ComputerName"   ,   ls_ComputerName)  
  tab_backup.tabpage_regist.st_summary.visible   =   true  
  tab_backup.tabpage_regist.st_username.TEXT=ls_ComputerName  
  tab_backup.tabpage_regist.st_username.visible   =   true  
   
        else  
  tab_backup.tabpage_regist.st_summary.visible   =   false  
  // tab_backup.tabpage_regist.cb_protocol.visible   =   true  
  ls_days   =   string(daysafter(today(),date(string(f_decode(ls_officialflag)))))  
  messagebox("系统提示","您使用的是试用版,还有"+string(30   +   integer(ls_days))+'   '+"天到期!")  
        if   30   +   integer(ls_days)   <=   0   then  
  messagebox("系统提示","您使用的是试用版,并且已经到期!")  
  halt;  
   
  end   if  
  end   if  
  end   if  
  //取硬盘序列号加密得出注册码  
  //string   ls_diskmask  
  String   ls_Rootpath,   ls_volumnename  
  ls_Rootpath   =   "C:"    
  //   指定要得到序列号的硬盘,  
  //   一般情况都是C盘,除非你能保证用户存在其它逻辑盘或物理盘  
  ls_volumnename   =   Space(256)    
  //   分配足够的空间,下同  
  Ulong   lul_VolumeNameSize  
  lul_VolumeNameSize   =   256  
  Ulong   lul_VolumeSerialNumber,   lul_MaximumComponentLength,   lul_FileSystemFlags  
  lul_MaximumComponentLength   =   256  
  String   ls_FileSystemNameBuffer  
  ls_FileSystemNameBuffer   =   space(256)  
  Ulong   lul_FileSystemNameSize  
  lul_FileSystemNameSize   =   256  
  beep(1)  
  boolean   lb_rtn  
  lb_rtn   =   False  
  lb_rtn   =   GetVolumeInformationA(ls_Rootpath,ls_volumnename,   lul_VolumeNameSize,lul_VolumeSerialNumber,lul_MaximumComponentLength,lul_FileSystemFlags,ls_FileSystemNameBuffer,lul_FileSystemNameSize)  
   
  if   lb_rtn   =   false   then  
  ls_Rootpath   =   "D:"    
  lb_rtn   =   False  
  lb_rtn   =   GetVolumeInformationA(ls_Rootpath,ls_volumnename,   lul_VolumeNameSize,lul_VolumeSerialNumber,lul_MaximumComponentLength,lul_FileSystemFlags,ls_FileSystemNameBuffer,lul_FileSystemNameSize)  
  end   if  
  if   lb_rtn   =   true   then  
  ls_diskmask   =   String(lul_VolumeSerialNumber)  
  tab_backup.tabpage_regist.sle_diskid.text   =   ls_diskmask  
  //因串口硬盘(9位)和IDE及SCSI硬盘的ID号(10位)不一样  
  if   len(ls_diskmask)   =   10   then  
      ls_diskmask   =   $%$^^$$^$###$%%%%$###(加密算法不便透露)  
  end   if  
  if   len(ls_diskmask)   =   9   then  
      ls_diskmask   =   $%$^^$$^$###$%%%%$###(加密算法不便透露)  
  end   if  
      tab_backup.tabpage_regist.sle_registid.text   =   ls_diskmask  
  end   if  
  if   lb_rtn   =   false   then  
      MessageBox("提示","取注册码函数调用失败!,程序可能对您所使用的硬件系统不支持!")  
      halt;  
  end   if  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值