설치 / 사용기

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

2024.08.10 13:46

GreenTea 조회:545 추천: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 - - -
11261 기 타| 펌웨어에 Winre.wim 부팅 메뉴가 추가가 되네요 [8] 왕초보 935 19 08-19
11260 기 타| 【배포】 281mb DVD PE - Win11 Light 최종판 소개 [39] 딸랑쇠 1771 101 08-19
11259 기 타| [실행샷] 메모장들을 데이터 베이스처럼 관리하기 -2 [14] 빨강모자 645 38 08-18
11258 기 타| 펌웨어에서 Winre.wim으로 바로 부팅하기 입니다 (Uefi) [10] 왕초보 955 24 08-18
11257 기 타| IFW BR + Winre.wim 복구시스템을 구성을 하여 보았습니다 [15] 왕초보 918 37 08-18
11256 기 타| winXPE147수정버전_20240322_23H2(빌드 22635.4010) 정리 [84] 격자 733 153 08-17
11255 소프트웨어| DiskPartition 제3편 [48] sunshine 2106 126 08-17
11254 기 타| winXPE147수정버전_20240322_23H2(빌드 22631.4037) 정리 [90] 격자 671 164 08-16
11253 기 타| REAgentC 으로 Winre.wim 1회 부팅하기 입니다 [12] 왕초보 900 21 08-16
11252 기 타| Winre.wim 수동 등록 및 F8 사용기 입니다 [9] 왕초보 979 23 08-16
11251 소프트웨어| 배치파일 메뉴 형태들 (hybrid batch file) [16] 지후빠 841 43 08-15
11250 소프트웨어| Bcdboot-batch-and-GetPart-new [19] 지후빠 1106 60 08-14
11249 기 타| DiskPartition에 Backup 복사 및 BCD 등록 메뉴를 추가하여... [22] 왕초보 959 38 08-14
11248 기 타| winXPE147_KJ Windows10_22H2 2209(빌드19045.4717) 정리 [75] 격자 804 129 08-14
11247 소프트웨어| DiskPartition 제2편 [23] sunshine 1070 54 08-14
11246 윈 도 우| KB5041585OS 빌드 22621.4037 및 22631.4037 [6] 16k 637 11 08-14
11245 기 타| sunshine님 DiskPartition을 활용하여 보았습니다..감사합... [11] 왕초보 866 20 08-13
11244 소프트웨어| DiskPartition 제1편 [38] sunshine 2331 81 08-11
11243 기 타| winXPE_20240322_23H2 (빌드22631.3958) 정리 [80] 격자 928 167 08-11
11242 윈 도 우| 큰나무님 열번째 Windows 11 10-System PE 스샷 [20] 립뽀 859 46 08-10
XE1.11.6 Layout1.4.8