[转载自csdn]如何能让软件具有时效期

作者:Sunpursue()

原文地址:http://community.csdn.net/Expert/topic/4225/4225754.xml?temp=.4353754

以下的方法仅提供一种思路:

1.首次运行判断

安装后用户需要运行程序,进行判断是否是首次运行程序
 需要存储一个变量  BlnIsFirstRun(该变量写在某地方初值为 true ,可以多写几个 )
 如果是首次运行程序,
 
 写入软件相关信息 如 SetupDate 安装日期( 代表首次运行日期 )同时获取系统的昨天(sYesterday)的时间记录下来
 写入软件过期的日期  ExpairDate : 安装日期 + 使用期( 比如15 ) = 过期日期
 
 如果不是是首次运行程序,
 读取系统昨天的日期, 和 sYesterday 进行比较 判断时期是否连续(防止修改系统时间)
 
 如果连续 采用读取的系统时间刷新 sYesterday 的值 ,使日期向前推进一天 ;
 如果不连续连续,采用读取的 sYesterday 的值,使之自增一天,获得新的 sYesterday 值 进行回填 ,刷新 sYesterday 的值 ,使日期向前推进一天 ;
 
2.判断是否过期
读取 ExpairDate 的值 ,获取系统当天的值和所记录的 sYesterday 的值进行连续性比较 ,不连续,将 sYesterday 增加一天,认为是当天的日期值
然后和 ExpairDate 的值 进行判断;

3.程序每次启动进行判断,更新相关的信息;

4.注意:
 
  其中几个关键的值如 BlnIsFirstRun , SetupDate ,sYesterday ,ExpairDate  需要多写几个地方,尽可能进行加密处理
  过期日期判断时采用
  CurrentDate >= ExpairDate
  而不是
  CurrentDate == ExpairDate(显然有漏洞)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值