У нас есть система киосков, работающая на Win7 с приложением, написанным с использованием VS2010 C ++. Как и в случае систем с киосками, система заблокирована, поэтому пользователь не может получить доступ к самой системе Windows, но должен выполнять всю работу с помощью нашего приложения.
К сожалению, до сих пор у нас была одна проблема, когда всплыло диалоговое окно системного уровня Windows, требующее ответа. Он появился за графическим интерфейсом нашего приложения, так что пользователь даже не знал, что он там, и, поскольку он был модальным, он заблокировал дальнейшее использование системы.
Этим диалогом был общеизвестный диалог «система должна быть восстановлена». Так как это система киосков, мы хотим найти способ для автоматического решения подобных ситуаций.
Я рассмотрел установку низкоуровневого хука с помощью SetWinEventHook () для захвата событий EVENT_SYSTEM_ALERT. Конечно, первая проблема заключается в том, что я не уверен, как это проверить, поскольку эти события не являются общими. Вторая проблема заключается в том, что я не уверен, как обращаться с информацией, поскольку может быть несколько различных системных предупреждений, которые всплывают в модальных окнах, и поэтому автоматизация ответа может доставить нам больше проблем, чем мы могли предвидеть.
Мой настоящий вопрос здесь, если бы вы оказались именно в такой ситуации, какой была бы ваша линия атаки. Я обеспокоен тем, что могу ошибаться, пытаясь перехватить предупреждения и каким-то образом автоматизировать ответ на получающееся окно системных предупреждений.
Любые подсказки относительно полезного направления здесь будут высоко оценены.
Задача ещё не решена.
Других решений пока нет …