【发布时间】:2012-10-09 13:09:17
【问题描述】:
当用户在表单上按 OK 时,我正在尝试截取应用程序的屏幕截图。当用户按下 OK 时,表单应该被卸载,然后截取 MDI 表单的屏幕截图。
但是,对于 Windows 7 Aero 主题,表单不会立即消失,而是会淡出。所以截图的代码发生在表单完全消失之前。
有没有办法让代码停止,直到表单 100% 消失。我曾想过睡觉,但希望有更优雅的东西。
【问题讨论】:
当用户在表单上按 OK 时,我正在尝试截取应用程序的屏幕截图。当用户按下 OK 时,表单应该被卸载,然后截取 MDI 表单的屏幕截图。
但是,对于 Windows 7 Aero 主题,表单不会立即消失,而是会淡出。所以截图的代码发生在表单完全消失之前。
有没有办法让代码停止,直到表单 100% 消失。我曾想过睡觉,但希望有更优雅的东西。
【问题讨论】:
您可以使用DWMWA_TRANSITIONS_FORCEDISABLED 属性调用DwmSetWindowAttribute()。这应该让它立即消失。
在我的情况下,我在显示消息框后截屏,所以我不得不退回到 200 毫秒 Sleep()。
【讨论】: