Тема: AHK: автообновление gui
Добрый день. Имеется ahk, которая ретранслирует время с сайта Time100 через gui. Обновление времени должно происходить каждую секунду, смог реализовать только через цикл, в начале которого gui открывается, а в конце закрывается. Возможны ли какие-то варианты, чтобы gui обновлялся без постоянного закрытия и открытия?
Код:
GetTimeFromTime100ru(localTimeOffset := 0, formatString := "") {
static url := "https://time100.ru/api.php"
unixTime := GetResponseText(url,,,, error)
if error
throw error
Return UnixTimeToLocal(unixTime, localTimeOffset, formatString)
}
GetResponseText(url, method := "GET", HeadersArray := "", body := "", ByRef error := "") {
Whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Whr.Open(method, url, true)
for name, value in HeadersArray
Whr.SetRequestHeader(name, value)
Whr.Send(body)
Whr.WaitForResponse()
status := Whr.status
if (status != 200)
error := "HttpRequest error, status: " . status
Arr := Whr.responseBody
pData := NumGet(ComObjValue(arr) + 8 + A_PtrSize)
length := arr.MaxIndex() + 1
Return StrGet(pData, length, "UTF-8")
}
UnixTimeToLocal(unixTime, diff, formatStr := "") {
time := "19700101"
time += unixTime, s
time += diff, h
if formatStr
FormatTime, time, % time, % formatStr
Return time
}
Loop
{
DllCall("ShowCursor", UInt, 0)
CustomColor2 = EEAA99
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow +Disabled
GuiControl, Disable, Tab
Gui, Color, black
Gui, Font, s7
Gui, Font, cWhite
Gui, Font, w4300
GUI, ADD, TEXT,, Time100
GUI, ADD, TEXT,, % GetTimeFromTime100ru(3, "HH:mm:ss")
WinSet, TransColor, %CustomColor2% 200
Winset, ExStyle, +0x20
Gui, Show, NoActivate x5 y10, My Window
Sleep, 100
Gui Destroy
}
!2::
reload