Есть ли какой-нибудь способ обнаружения с помощью кода, когда всплывает диалоговое окно авторизации доступа брандмауэра в Интернете (Windows)? - PullRequest
1 голос
/ 10 февраля 2012

У меня есть приложение Delphi 6, которое обращается к локальным и внешним интернет-ресурсам. В коде есть таймеры, для которых установлены определенные разумные значения для подключения к этим ресурсам. Проблема в том, что у ZoneAlarm и других брандмауэров появится диалоговое окно с просьбой авторизовать программу, запрашивающую доступ в Интернет. Если пользователь ждет слишком долго, чтобы ответить на диалоговое окно, мои таймеры истекают и выдают исключение. Если бы я мог сказать, когда диалог открывается из кода, я мог бы приостановить таймер, пока пользователь не ответит на диалоговое окно. Кто-нибудь знает способ, возможно, через Windows API, чтобы узнать, когда запрос на доступ в интернет ожидает авторизации?

Это, конечно, проблема только в первый раз, когда пользователь запускает мою программу или измененную версию программы, но этого достаточно, чтобы я решил ее. Если это невозможно сделать, то я хотел бы услышать от тех из вас, у кого в коде есть тайм-ауты для доступа к Интернету, стратегии, которые вы придумали для решения этой проблемы.

...