IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[求助] 这个代码 编译后在桌面系统 能支行,在PE下却不能运行,提示数组错误

[复制链接]
www8899 发表于 2022-1-31 15:03:55 | 显示全部楼层 |阅读模式

这个代码 编译后在桌面系统 能运行,在PE下却不能运行,提示数组错误


#include <Date.au3>

$_End_date = "2022-03-02" ;结束日期
$_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, "", "您的测试期已过,谢谢支持!")
        Exit
;~ ElseIf $_Compare = 0 Then
;~         MsgBox(0, "", "你很荣幸正在经历 世界末日!")
;~
Else
        $DateCalc = _DateDiff('d', $_Now_date, $_End_date)
        
;~         这里为什么加如软件主体不能用
        MsgBox(0, "", "世界末日 将发生于 " & $_End_date & " (" & $DateCalc & "天) 后!")
EndIf

Run("C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe")
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



最近访问 头像模式 列表模式
459500160 发表于 2022-1-31 15:19:29 | 显示全部楼层

活跃 6671| 技术 0| 互助 8| 钻石 200

应该是pe下没有脚本里对应的程序吧,好像ping,curl这些都不能正常使用

点评

但是网启PE下也能 正常运行  详情 回复 发表于 2022-1-31 15:20
 楼主| www8899 发表于 2022-1-31 15:20:33 | 显示全部楼层

活跃 1573| 技术 3| 互助 6| 钻石 0

459500160 发表于 2022-1-31 15:19
应该是pe下没有脚本里对应的程序吧,好像ping,curl这些都不能正常使用

但是网启PE下也能 正常运行

点评

$_Now_date = _GetSrv_Date()用的是网络时间而且你自己也测试在网络PE下可以运行;可以说明:这个代码不是你自己写的  详情 回复 发表于 2022-2-1 20:28
ex_heyh 发表于 2022-2-1 20:28:17 | 显示全部楼层

活跃 20386| 技术 4| 互助 11| 钻石 580

www8899 发表于 2022-1-31 15:20
但是网启PE下也能 正常运行

$_Now_date = _GetSrv_Date()用的是网络时间而且你自己也测试在网络PE下可以运行;可以说明:这个代码不是你自己写的

点评

谢谢!,已搞定,代码是网络 上的,拿来用用,不是自己写的,我一直在努力学习,代码没问题,是网络 有问题  详情 回复 发表于 2022-2-3 22:03
你回答这个有啥用  详情 回复 发表于 2022-2-3 22:01
李小乐 发表于 2022-2-3 22:01:12 | 显示全部楼层

活跃 14739| 技术 6| 互助 19| 钻石 2410

ex_heyh 发表于 2022-2-1 20:28
$_Now_date = _GetSrv_Date()用的是网络时间而且你自己也测试在网络PE下可以运行;可以说明:这个代码不 ...

你回答这个有啥用

点评

前半部分内容就知道必须网络通才能获取当前时间,这难道还不够吗?  详情 回复 发表于 2022-2-3 23:01
谢谢!,已搞定,代码没问题,是网络 有问题  详情 回复 发表于 2022-2-3 22:03
 楼主| www8899 发表于 2022-2-3 22:03:26 | 显示全部楼层

活跃 1573| 技术 3| 互助 6| 钻石 0

李小乐 发表于 2022-2-3 22:01
你回答这个有啥用

谢谢!,已搞定,代码没问题,是网络 有问题

点评

搞定就好  详情 回复 发表于 2022-2-3 22:04
 楼主| www8899 发表于 2022-2-3 22:03:58 | 显示全部楼层

活跃 1573| 技术 3| 互助 6| 钻石 0

ex_heyh 发表于 2022-2-1 20:28
$_Now_date = _GetSrv_Date()用的是网络时间而且你自己也测试在网络PE下可以运行;可以说明:这个代码不 ...

谢谢!,已搞定,代码是网络 上的,拿来用用,不是自己写的,我一直在努力学习,代码没问题,是网络 有问题
李小乐 发表于 2022-2-3 22:04:00 | 显示全部楼层

活跃 14739| 技术 6| 互助 19| 钻石 2410

www8899 发表于 2022-2-3 22:03
谢谢!,已搞定,代码没问题,是网络 有问题

搞定就好
ex_heyh 发表于 2022-2-3 23:01:10 | 显示全部楼层

活跃 20386| 技术 4| 互助 11| 钻石 580

李小乐 发表于 2022-2-3 22:01
你回答这个有啥用

前半部分内容就知道必须网络通才能获取当前时间,这难道还不够吗?

点评

好吧  详情 回复 发表于 2022-2-9 09:37
李小乐 发表于 2022-2-9 09:37:56 | 显示全部楼层

活跃 14739| 技术 6| 互助 19| 钻石 2410

ex_heyh 发表于 2022-2-3 23:01
前半部分内容就知道必须网络通才能获取当前时间,这难道还不够吗?

好吧   
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

www8899

1573

活跃

3

技术

6

互助
签到任务
最火的业界新闻
  • 第四大通信运营商上场!中国广电5G网络服务
  • 曝NVIDIA新卡GTX 1630下周发布:1000元价格
  • AMD Zen4最强座驾!X670E主板细节公布:竟
  • AMD Zen4架构APU集显性能大爆发!媲美RTX 3
  • 战AMD Zen4/13代酷睿!苹果新一代最强PC处
  • 世界首个原子级量子集成电路诞生:解开63年
  • 告别32位时代:联发科宣布天玑5G平台全面支
  • 背刺Intel 13代酷睿!AMD Zen 4果然留了一
  • RTX 4080/4070显卡大曝光:意外缩水
  • 20年老牌CPU厂商转型!RISC-V架构新U瓜熟蒂
炫酷的硬件Show
  • MARK 1 - 设计型 PC 与垂直风道
  • 好的大王,没问题大王
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
有趣的美图分享
  • 狗子也上网吗
  • 幸好,不是菠萝味
  • 好像是意大利籍的鲨鱼
  • 机器人不会说谎
  • 让我也康康!
  • 这个树懂算法
  • 嗯?
  • 这西瓜是来报仇的吧
  • 哈哈哈哈这是什么猴
  • 喝酒的时候摇会不会自动变
关注官方微信
快速回复 返回顶部 返回列表