Закрыть всплывающие окна извне приложения со скриптом? - PullRequest
0 голосов
/ 15 марта 2012

У меня есть неортодоксальный вопрос / идея. У меня есть программа гидрологического моделирования, которая немного глючит. У меня нет доступа к исходному коду. Эта программа моделирования работает 24/7 и периодически выдает ошибки утверждений (а иногда и ошибки времени выполнения) и приводит к появлению всплывающего окна. Часто он выдает только всплывающее окно «Отправить сообщение об ошибке / не отправлять». См. Прилагаемые .jpgs примеры.

Эти окна останавливают все дальнейшее выполнение программы, пока она не будет закрыта (нажав «Игнорировать», «Не отправлять» или «OK» соответственно). Ошибки подтверждения не влияют на работу программы. Судя по исследованиям, которые я провел на dbheap.c, это, вероятно, проблема с программой моделирования, которая неправильно освобождала память в конце цикла.

Я бы хотел, чтобы программа всегда продолжала работать и производить свои прогнозируемые экспортные продукты даже в случае одной из этих ошибок (которые, опять же, похоже, не влияют на работу программы). Я хотел бы закрыть эти всплывающие окна за пределами приложения (с помощью скрипта), чтобы они не останавливали выполнение программы. Есть ли в Windows средства для отслеживания и / или отклонения всплывающих окон, сгенерированных программой, вне приложения?

Assert Error

Send-Don't Send

Runtime Erro

1 Ответ

1 голос
/ 30 ноября 2012

Вы можете написать простое приложение, которое заставляет приложение делать вещи. С помощью Winspector / Spy ++ или Winsight вы можете видеть все объекты в приложении Windows. Вы можете периодически проверять наличие всплывающих окон, а затем нажимать кнопку (возможно, всегда первую). В Windows есть API / системный вызов, и с его помощью можно отправить сообщение в окно (дескриптор) по вашему выбору (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx).

...