找回密码  加入

AUTOIT CN

搜索
查看: 2429|回复: 34

(V1.1新版本)时间精灵 TimeGhost 下载帖

[复制链接]
发表于 2016-10-4 12:49:29 | 显示全部楼层 |阅读模式
本帖最后由 alwaystick 于 2016-10-4 12:51 编辑

附件(EXE+源码)回复可见。
游客,如果您要查看本帖隐藏内容请回复

原帖链接:http://www.autoitx.com/thread-53493-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
发表于 2016-10-4 13:24:17 | 显示全部楼层
看一下,学习一下。win10生效吗?
 楼主| 发表于 2016-10-4 14:03:48 | 显示全部楼层
回复 2# pchome2000
本软件的开发环境就是Win10。
发表于 2016-10-4 15:53:59 | 显示全部楼层
第一次看到的軟件
來學習一下並看看是甚麼功用^^
发表于 2016-10-4 17:17:54 | 显示全部楼层
本软件的开发环境就是Win10。
发表于 2016-10-4 19:01:15 | 显示全部楼层
  看看
发表于 2016-10-4 19:06:41 | 显示全部楼层
下面代码来自本论坛,感觉更简便,可靠.
  1. #include-once
  2. #include <Date.au3>
  3. _Timecheck()
  4. Func _Timecheck() ;时间校正        
  5. ;If Ping('www.baidu.com', 550) Or Ping ('www.163.com') Then
  6. Local $_Now_date, $year, $mon, $mday, $hour, $min, $sec
  7. $_Now_date = _GetSrv_Date()
  8. If @error Then Return SetError(2, '', 0)
  9. $year = StringRegExpReplace($_Now_date, '/.+, '')
  10. $mon = StringRegExpReplace($_Now_date, '.+?/(\d{1,2})/.+', '\1')
  11. $mday = StringRegExpReplace($_Now_date, '.+/(\d{1,2})\D.+', '\1')
  12. $hour = StringRegExpReplace($_Now_date, '.+?(\d{1,2}):.+', '\1')
  13. $min = StringRegExpReplace($_Now_date, '.+?:(\d{1,2}):.+', '\1')
  14. $sec = StringRegExpReplace($_Now_date, '.+:', '')
  15. _SetDate($mday, $mon, $year)
  16. _SetTime($hour, $min, $sec)
  17. ConsoleWrite($year & '\' & $mon & '\' & $mday & ' ' & $hour & ':' & $min & ':' & $sec & @CRLF)
  18. Return 1
  19. ;EndIf
  20. ;Return SetError(1, '', 0)
  21. EndFunc   ;==>_Timecheck


  22. Func _GetSrv_Date()
  23.         Local $_Srvlist[14] = ["time-nw.nist.gov", _
  24.                         "time-a.nist.gov", _
  25.                         "time-b.nist.gov", _
  26.                         "time-a.timefreq.bldrdoc.gov", _
  27.                         "time-b.timefreq.bldrdoc.gov", _
  28.                         "time-c.timefreq.bldrdoc.gov", _
  29.                         "utcnist.colorado.edu", _
  30.                         "time.nist.gov", _
  31.                         "nist1.datum.com", _
  32.                         "nist1.dc.glassey.com", _
  33.                         "nist1.ny.glassey.com", _
  34.                         "nist1.sj.glassey.com", _
  35.                         "nist1.aol-ca.truetime.com", _
  36.                         "nist1.aol-va.truetime.com"]
  37.         UDPStartup()
  38.         Local $_Time_Srv
  39.         For $x = 0 To UBound($_Srvlist) - 1
  40.                 $_Time_Srv = $_Srvlist[$x]
  41.                 Local $Socket = UDPOpen(TCPNameToIP($_Time_Srv), 123)
  42.                 If @error <> 0 Then ContinueLoop
  43.                 $Status = UDPSend($Socket, MakePacket())
  44.                 If $Status = 0 Then ContinueLoop
  45.                 Local $Data = "", $i = 0
  46.                 While $Data = ""
  47.                         $i += 1
  48.                         $Data = UDPRecv($Socket, 100)
  49.                         If $i = 5 Then ContinueLoop (2)
  50.                         Sleep(88)
  51.                 WEnd
  52.                 UDPCloseSocket($Socket)
  53.                 UDPShutdown()
  54.                 ExitLoop
  55.         Next
  56.         If $Data = "" Then Return SetError(1, '', '')
  57.         $Data = UnsignedHexToDec(StringMid($Data, 83, 8))
  58.         $Data = _DateTimeFormat(_DateAdd("s", $Data, "1900/01/01 08:00:00"), 0)
  59.         Return $Data
  60. EndFunc   ;==>_GetSrv_Date

  61. Func MakePacket()
  62.         Local $P, $D = "1b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  63.         While $D
  64.                 $P &= Chr(Dec(StringLeft($D, 2)))
  65.                 $D = StringTrimLeft($D, 2)
  66.         WEnd
  67.         Return $P
  68. EndFunc   ;==>MakePacket

  69. Func UnsignedHexToDec($_Data)
  70.         Return Dec(StringTrimRight($_Data, 1)) * 16 + Dec(StringRight($_Data, 1))
  71. EndFunc   ;==>UnsignedHexToD
复制代码
发表于 2016-10-4 20:44:38 | 显示全部楼层
感谢楼主分享,学习了
 楼主| 发表于 2016-10-4 21:20:04 | 显示全部楼层
回复 7# Alam
是NTP协议校时吗?我的软件原理不是NTP协议,是正则提取时间。虽然我的方法的确有点麻烦,不过在有些采用防火墙的网络,能更好地穿透防火墙校时,毕竟一般防火墙不会封锁80端口。
发表于 2016-10-4 21:50:42 | 显示全部楼层
看起来不错的哟
发表于 2016-10-5 08:45:26 | 显示全部楼层
嗯.看起来还不错..
发表于 2016-10-5 09:28:40 | 显示全部楼层
感谢分享,收藏学习一下。
发表于 2016-10-6 11:44:45 | 显示全部楼层
支持,看看东西
发表于 2016-10-7 22:23:27 | 显示全部楼层
谢谢分享!!!!!!!!!!!!
发表于 2016-10-8 01:37:19 | 显示全部楼层
有什么用呢?系统自身就带这个功能吧?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2018-10-20 07:00 , Processed in 0.096901 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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