Тема: AHK: обработка ошибки WinHttpRequest
Доброго времени суток.
Код AHK:
Unserver(Inquiry)
{
Process, Exist, unserver.exe
; ToolTip, ErrorLevel: %ErrorLevel%, 1000, 30, 10
If ((ErrorLevel = 0) or (ErrorLevel = ""))
Return "Service temporary unavailable"
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", Inquiry, true) ; Inquiry = http://localhost:9000/tags/%UnserverTag%
whr.Send()
whr.WaitForResponse()
Return whr.ResponseText
}
Функция отправляет Http запрос к unserver.exe, работающему в качестве фонового сервиса и ожидает ответа.
Проблема в том, что сервис время от времени оказывается недоступен - остановлен, перезагружается и т.п. В такие моменты выскакивает окно с сообщением об ошибке, требующее вмешательства пользователя. А этого нельзя допускать, так как скрипт работает на удаленной машине.
Большую часть таких случаев я перехватываю при помощи Process, Exist. Однако, некоторая вероятность сообщения об ошибке остается по причине долгого ожидания ответа от сервера - свыше 1 секунды - и есть вероятность того,что служба остановится во время ожидания.
Вопрос: как перенаправить сообщение об ошибке от WinHttpRequest в для нормальной обработки?
В WinHttpRequest существует событие OnError, но примеров с ним как-то не нашел. Буду благодарен за помощь или направление, где искать