我正在尝试关闭类似于this的WPF应用程序中的其他窗口。问题是某些窗口应用程序(如记事本)仅显示一个对话框,其中包含“是否要保存更改?”。如何检测窗口是否自动关闭?此外,是否有可能的方法来覆盖此行为?
答案 0 :(得分:0)
没有通用"你想保存吗?" Windows中的对话框。应用程序通常只显示MessageBox
以响应WM_CLOSE
消息。
您可以尝试手动发布 WM_CLOSE
消息到顶级窗口,如果在短暂超时后,窗口会被禁用但仍然可见,那么您可以认为它正在显示一个模式对话框,可能要求用户保存。
为了使其更强大,您可以在一个线程上发送消息并检查另一个线程上的启用状态,但这仍然是您真正应该避免的黑客攻击。
与其他UI应用程序交互的正确方法是使用UI Automation。特别是如果你打算做一些令人讨厌的事情,比如代表用户点击其中一个按钮。