설치 / 사용기

기 타 Copilot 이용하여 시간동기화 프로램 만들기(Autoit)

2024.08.10 13:46

GreenTea 조회:564 추천:11

; NTP 서버 주소

Global $sNTPServer = "time.windows.com"

 

; NTP 서버로부터 시간을 가져오는 함수

Func _GetNTPTime($sServer)

    Local $iSocket = UDPStartup()

    Local $iUDP = UDPOpen($sServer, 123)

    Local $aNTPPacket[12] = [0x1B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    Local $tNTPPacket = DllStructCreate("byte[48]")

    DllStructSetData($tNTPPacket, 1, $aNTPPacket)

    UDPSend($iUDP, DllStructGetPtr($tNTPPacket), 48)

    Local $tResponse = DllStructCreate("byte[48]")

    UDPRecv($iUDP, DllStructGetPtr($tResponse), 48)

    UDPCloseSocket($iUDP)

    UDPShutdown()

    Local $iSeconds = DllStructGetData($tResponse, 1, 43) * 256 + DllStructGetData($tResponse, 1, 44)

    $iSeconds = $iSeconds * 256 + DllStructGetData($tResponse, 1, 45)

    $iSeconds = $iSeconds * 256 + DllStructGetData($tResponse, 1, 46)

    Return $iSeconds - 2208988800

EndFunc

 

; 시스템 시간을 설정하는 함수

Func _SetSystemTime($iSeconds)

    Local $tSystemTime = DllStructCreate("ushort[8]")

    Local $iTime = _Date_Time_EncodeFileTime($iSeconds)

    DllStructSetData($tSystemTime, 1, $iTime[0])

    DllStructSetData($tSystemTime, 2, $iTime[1])

    DllStructSetData($tSystemTime, 3, $iTime[2])

    DllStructSetData($tSystemTime, 4, $iTime[3])

    DllStructSetData($tSystemTime, 5, $iTime[4])

    DllStructSetData($tSystemTime, 6, $iTime[5])

    DllStructSetData($tSystemTime, 7, $iTime[6])

    DllStructSetData($tSystemTime, 8, $iTime[7])

    DllCall("kernel32.dll", "int", "SetSystemTime", "ptr", DllStructGetPtr($tSystemTime))

EndFunc

 

; 메인 함수

Func _Main()

    Local $iNTPTime = _GetNTPTime($sNTPServer)

    _SetSystemTime($iNTPTime)

EndFunc

 

_Main()

 
코파일럿에게 오토잇으로 시간동기화 프로그램 만들어 보라고 했더니
 
잘만드네요.. 
 
미첬어요~
번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
11255 기 타| 펌웨어에서 Winre.wim으로 바로 부팅하기 입니다 (Uefi) [10] 왕초보 971 24 08-18
11254 기 타| IFW BR + Winre.wim 복구시스템을 구성을 하여 보았습니다 [15] 왕초보 946 38 08-18
11253 기 타| winXPE147수정버전_20240322_23H2(빌드 22635.4010) 정리 [84] 격자 744 153 08-17
11252 소프트웨어| DiskPartition 제3편 [48] sunshine 2115 126 08-17
11251 기 타| winXPE147수정버전_20240322_23H2(빌드 22631.4037) 정리 [90] 격자 677 164 08-16
11250 기 타| REAgentC 으로 Winre.wim 1회 부팅하기 입니다 [12] 왕초보 916 21 08-16
11249 기 타| Winre.wim 수동 등록 및 F8 사용기 입니다 [9] 왕초보 1046 23 08-16
11248 소프트웨어| 배치파일 메뉴 형태들 (hybrid batch file) [16] 지후빠 883 44 08-15
11247 소프트웨어| Bcdboot-batch-and-GetPart-new [19] 지후빠 1132 60 08-14
11246 기 타| DiskPartition에 Backup 복사 및 BCD 등록 메뉴를 추가하여... [22] 왕초보 972 38 08-14
11245 기 타| winXPE147_KJ Windows10_22H2 2209(빌드19045.4717) 정리 [75] 격자 819 129 08-14
11244 소프트웨어| DiskPartition 제2편 [23] sunshine 1076 54 08-14
11243 윈 도 우| KB5041585OS 빌드 22621.4037 및 22631.4037 [6] 16k 647 11 08-14
11242 기 타| sunshine님 DiskPartition을 활용하여 보았습니다..감사합... [11] 왕초보 877 20 08-13
11241 소프트웨어| DiskPartition 제1편 [38] sunshine 2340 81 08-11
11240 기 타| winXPE_20240322_23H2 (빌드22631.3958) 정리 [80] 격자 934 167 08-11
11239 윈 도 우| 큰나무님 열번째 Windows 11 10-System PE 스샷 [18] 립뽀 869 46 08-10
» 기 타| Copilot 이용하여 시간동기화 프로램 만들기(Autoit) [3] GreenTea 564 11 08-10
11237 소프트웨어| 서버에서 유용하게 쓰고 있는 시간동기화 [3] GreenTea 554 10 08-10
11236 기 타| 【배포】 251mb Internet win11 PE [57] 딸랑쇠 2025 155 08-09
XE1.11.6 Layout1.4.8