我想最小化我的应用程序,截取当前桌面的屏幕截图并将我的应用程序恢复到原始状态。
这在 Windows XP 下运行良好,但在不同的 Vista 机器上进行测试时,200 毫秒的最小化时间不再有效。
有没有办法询问操作系统何时完成了这些花哨的效果或查找执行操作的时间?
我想最小化我的应用程序,截取当前桌面的屏幕截图并将我的应用程序恢复到原始状态。
这在 Windows XP 下运行良好,但在不同的 Vista 机器上进行测试时,200 毫秒的最小化时间不再有效。
有没有办法询问操作系统何时完成了这些花哨的效果或查找执行操作的时间?
虽然我不知道按照您的要求做的方法,但我有一个建议:与其最小化应用程序的窗口,不如隐藏它(使用 ShowWindow(SW_HIDE))?这不会受到动画效果的影响,所以应该是即时的。
也许相反,您应该将桌面最小化?
我能找到的最接近的是 SPI_GETUIEFFECTS,它会告诉您是否完全启用了此类效果。
如果启用,您当然可以使用 SPI_SETUIEFECTS 将其关闭。但这是一种相当霰弹枪的方法——你将如何恢复它们?暂时关闭最困扰您的可能会更好。