找回密码
 加入
搜索
查看: 2074|回复: 4

[系统综合] 请教一下AU3时间到期的问题

[复制链接]
发表于 2012-8-25 23:22:34 | 显示全部楼层 |阅读模式
dim $deathdate="2013-01-29",$now=@YEAR&"-"&@MON& "-" & @MDAY
$result = StringCompare($deathdate,$now,1)
If $result<>0 Then
        MsgBox(16,"您的试用期已过!","请购买正版软件!谨防盗版使用!",3)
        Exit
        EndIf
        ;软件主体
        MsgBox(16,"试用期!","请购买正版软件!",3)

这个我把时间改成2013-01-29
怎么不行 要怎么修改呢 请教
发表于 2012-8-25 23:33:38 | 显示全部楼层
dim $deathdate="20130129",$now=@YEAR&@MON&@MDAY
$result = StringCompare($deathdate,$now,1)
If $result<0 Then
        MsgBox(16,"您的试用期已过!","请购买正版软件!谨防盗版使用!",3)
        Exit
        EndIf 
        ;软件主体
        MsgBox(16,"试用期!","请购买正版软件!",3)
 楼主| 发表于 2012-8-25 23:42:38 | 显示全部楼层
回复 2# yunnl


    谢谢你  可以了
 楼主| 发表于 2012-8-25 23:53:43 | 显示全部楼层
回复 2# yunnl

在请教一下 下面的代码中 我的代码要添加到哪里
#include <Date.au3>
$_End_date = "2012-12-21";结束日期
$_Now_date = _GetSrv_Date()
$_End_Splt = StringSplit($_End_date, "-")
$_Now_Splt = StringSplit($_Now_date, "-")
$_sDate_End = _Date_Time_EncodeFileTime($_End_Splt[2], $_End_Splt[3], $_End_Splt[1])
$_sDate_Now = _Date_Time_EncodeFileTime($_Now_Splt[2], $_Now_Splt[3], $_Now_Splt[1])
$_Compare = _Date_Time_CompareFileTime(DllStructGetPtr($_sDate_End), DllStructGetPtr($_sDate_Now))
If $_Compare = -1 Then
        MsgBox(0, "", "世界末日 已经结束,谢谢支持!")
ElseIf $_Compare = 0 Then
        MsgBox(0, "", "你很荣幸正在经历 世界末日!")
Else
        $DateCalc = _DateDiff('d', $_Now_date, $_End_date)
        MsgBox(0, "", "世界末日 将发生于 " & $_End_date & " (" & $DateCalc & "天) 后!")
EndIf
Exit

Func _GetSrv_Date()
        Local $_Srvlist[14] = ["time-nw.nist.gov", _
                        "time-a.nist.gov", _
                        "time-b.nist.gov", _
                        "time-a.timefreq.bldrdoc.gov", _
                        "time-b.timefreq.bldrdoc.gov", _
                        "time-c.timefreq.bldrdoc.gov", _
                        "utcnist.colorado.edu", _
                        "time.nist.gov", _
                        "nist1.datum.com", _
                        "nist1.dc.glassey.com", _
                        "nist1.ny.glassey.com", _
                        "nist1.sj.glassey.com", _
                        "nist1.aol-ca.truetime.com", _
                        "nist1.aol-va.truetime.com"]
        UDPStartup()
        Local $_Time_Srv
        For $x = 0 To UBound($_Srvlist) - 1
                $_Time_Srv = $_Srvlist[$x]
                Local $Socket = UDPOpen(TCPNameToIP($_Time_Srv), 123)
                If @error <> 0 Then ContinueLoop
                $Status = UDPSend($Socket, MakePacket())
                If $Status = 0 Then ContinueLoop
                Local $Data = "", $i = 0
                While $Data = ""
                        $i += 1
                        $Data = UDPRecv($Socket, 100)
                        If $i = 5 Then ContinueLoop (2)
                        Sleep(88)
                WEnd
                UDPCloseSocket($Socket)
                UDPShutdown()
                ExitLoop
        Next
        If $Data = "" Then Return 0
        $Data = UnsignedHexToDec(StringMid($Data, 83, 8))
        $Data = _DateTimeFormat(_DateAdd("s", $Data, "1900/01/01 08:00:00"), 0)
        Return $Data
EndFunc   ;==>_GetSrv_Date

Func MakePacket()
        Local $P, $D = "1b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        While $D
                $P &= Chr(Dec(StringLeft($D, 2)))
                $D = StringTrimLeft($D, 2)
        WEnd
        Return $P
EndFunc   ;==>MakePacket

Func UnsignedHexToDec($_Data)
        Return Dec(StringTrimRight($_Data, 1)) * 16 + Dec(StringRight($_Data, 1))
EndFunc   ;==>UnsignedHexToDec
发表于 2012-8-26 09:56:42 | 显示全部楼层
对着帮助文件去捣鼓吧
这样问来问去是问不到提升的
提供一个思路
自己看看获取到的网络时间 然后参照着上面那个 对照帮助文件里的函数说明慢慢修改
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 09:50 , Processed in 0.086050 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表