我们有一个第三方Windows应用程序,我们认为它太复杂,我们的用户无法有效使用。该应用程序管理我们每天扫描3000份文档的扫描仪。
可以使用键盘完全驾驶扫描仪应用程序。
因此,我们正在编写一个简单的WinForms应用程序,该应用程序上有少量大按钮,使用SendKeys
和一些Win32 API调用来向扫描仪应用程序发送击键。我们计划将这个WinForms应用程序全屏显示并设置为Z-Order的顶部。
但是,扫描仪应用程序有时会在模态对话框中显示错误消息(例如扫描仪卡纸等)。我们需要在WinForms应用程序中显示这些错误消息。
任何人都可以建议一种技术,以便我们捕获这些错误消息并将其显示给我们的用户吗?
答案 0 :(得分:2)
不确定这是否是最有效的方法,但假设您有办法识别这些错误消息,您可以有一个循环,每隔一段时间就会遍历所有打开的窗口,并查找其中一个错误窗户。
另一个可能的方向是将你的dll注入另一个应用程序,并观察传递的消息。我不能肯定地说你能够识别这些信息,我现在不能做进一步的研究,但我相信它应该是可能的。当弹出这样的消息时,只需间谍++其他应用程序,并识别相关消息。