programming language/Autohotkey
Autohotkey 새로운 버전 체크/자동 다운로드 실행하기
__observer__
2021. 8. 30. 10:51
반응형
Autohotkey 를 사용하시는 분들은 아시겠지만 1.1.33.10 버전이 8월 29일에 릴리즈 했습니다. 많은 프로그램들이 프로그램 시작시 자동 업데이트 기능들이 있는데~ 오늘은 Autohotkey 를 자동으로 업데이트 하는 방법에 대해 소개해 보려 합니다.
코드는 아래와 같습니다.
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "https://www.autohotkey.com/download/1.1/version.txt", true)
whr.Send()
whr.WaitForResponse()
version := whr.ResponseText ; 버전 확인
ObjRelease(whr)
if (A_AhkVersion != version) ; 현재 설치 버전과 사이트의 버전이 다르면
{
MsgBox, 260, Autohotkey 설치 확인,
(LTrim
현재 설치 버전은 %A_AhkVersion% 입니다.
%version% 버전을 설치하시겠습니까?
),3
IfMsgBox, Yes
{
Run, https://www.autohotkey.com/download/ ; Autohotkey 사이트 실행
newPath=C:\Users\%A_UserName%\AutoHotkey_%version%_setup.exe ; 새로운 파일 path
if FileExist(newPath)
{
FileDelete, %newPath%
}
UrlDownloadToFile, https://www.autohotkey.com/download/ahk-install.exe, %newPath% ; 설치 파일 다운로드
Sleep,800
Run, %newPath% ; 설치 파일 실행
Sleep, 800
Run, %comspec% /c taskkill /PID AutoHotkey.exe /F,,Min ; 새로운 버전의 Autohotkey 설치를 위해 Process Kill
}
}
해당 코드는 아래 주소의 UrlDownloadToFile 매뉴얼을 보다가 힌트를 얻어서 만들어 보게 되었습니다.
https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm
주요한 키워드로는 UrlDownloadToFile, ComObjCreate 가 될 것 같네요~
UrlDownloadToFile 함수는 이름에서부터 보시면 아시겠지만, 사이트 주소의 파일을 로컬 PC 에 다운로드 하는 함수 입니다. ComObjCreate 함수는 말그대로 “WinHttp.WinHttpRequest.5.1” COM 개체를 만드는 함수입니다. 해당 개체를 통해 신규 버전이 변경 된 것을 확인 할 수 있습니다.
저는 위 코드를 제가 사용하는 Autohotkey 코드의 제일 위에 넣어놔서 Autohotkey 가 로드 될때 자동으로 업데이트를 확인해서 다운로드 하도록 하고 있습니다.
이글을 읽고 계신걸로 봐서, Autohotkey 사용자 이신것 같은데~ 도움이 되었길 바랍니다.
반응형