我们在Win7上运行了一个使用VS2010 C ++编写应用程序的kiosk系统。与自助服务终端系统一样,系统被锁定,以便用户无法访问Windows系统本身,但必须使用我们的应用程序完成所有工作。
不幸的是,到目前为止,我们遇到了一个问题,其中弹出了一个需要响应的Windows系统级对话框。它出现在我们应用程序的GUI后面,因此用户甚至不知道它在那里,并且因为它是模态的,所以它阻止了系统的进一步使用。
这些对话框是众所周知的#34;系统需要恢复"对话。由于这是一个自助服务终端系统,我们希望找到一种以自动方式处理这些类型情况的方法。
我已经研究过使用SetWinEventHook()设置一个低级钩子来捕获EVENT_SYSTEM_ALERT事件。第一个问题当然是我不知道如何测试这个,因为这些事件并不常见。第二个问题是我不知道如何处理这些信息,因为可能会有许多不同的系统警报事件弹出模态窗口,因此自动化响应可能会让我们遇到比我们预期更多的麻烦。
我真正的问题是,如果你处于这种情况,你的攻击线是什么。我担心我可能会以错误的方式尝试捕获警报并以某种方式自动响应生成的系统警报窗口。
非常感谢任何关于有用方向的线索。