|
本帖最后由 imnebula 于 2010-2-5 10:40 编辑
1、用DATA.AU3的函数实现很直接,是获取WINDOWS的时间进行判断,优点是方便,缺点是会增加几十K的软件大小,以及如果用做有效期判断的话,容易被破解。
2、参考了坛子里分享的,获取网络时间的方式来获取时间然后做比较:
#include <IE.au3>
$oIE = _IECreate ("http://www.timedate.cn/worldclock/ti.asp")
$sText = _IEBodyReadText ($oIE)
MsgBox(0, "Body Text", $sText)
这样的方式,在防破解上稍微好许多,我将中间的中文和冒号全部替换为空(比如得到2010120),再对值进行比较,但只是便于时间比较,设定一个值(2010229),当新获取的值(如2010322)大于预设值后,表示已经到有效期。这个需要手动预设一个时间格式的值才能实现。
3、我想请教大家,如果我这里预设的值是7天,或者30天。在程序运行后自动存取程序第一次运行的时间,再第二次运行后开始判断这是第几天,一当超过所限天数后程序失效。以上面的条件,就比较难实现。因为我不知道如果第一次运行的时候是29号。如果我直接+7,表示获得七天后的日期,那就是36号了。。额。算术没有学好。不知道怎么解决。见笑。
DATE.AU3函数有办法实现(“ _DateAdd('d', 0, _NowCalcDate())”改变0可以设定获取任意天数后的日期),但是我想看有没有非函数更轻型的实现方式。不想增加程序体积了。
希望大家帮忙分享思路。谢谢! |
|