2009-11-04 17 views
0

我确定这是在网络上的某个地方,但我遇到了搜索条件的问题(获取大量不相关的东西)。无论如何,我有一个Direct3D9应用程序。当它在全屏模式下运行时,在Vista和Windows 7上,并且您点击Alt-Tab或Win-Tab时,我的应用程序在缩略图/预览/实时视图中显示空白(不确定正确的术语)。 API或通知我可以回应我可以在哪里绘制我的后缓冲区到缩略图?没有缩略图显示在Aero翻转/缩略图全屏direct3d 9应用程序

+0

哪种语言? – GManNickG

+0

对不起,C++。添加了一个标签,谢谢。 –

回答

3

当运行全屏幕Direct3D应用程序窗口合成(缩略图是其中的一部分)被禁用时。这通常是一件好事,因为它可以提高全屏应用程序的性能。作为默认设置,这种行为是合理的,因为大多数全屏应用程序(特别是那些针对XP或更早版本开发的应用程序)都希望在应用程序运行时成为用户的唯一焦点。如果您愿意,您可以在这种情况下手动实例化并更新您的缩略图,但是从全屏应用程序中退出时通常是边缘情况。

有关合成一般包括缩略图的API概述的更多信息,请this MSDN article

+0

非常感谢! DWM是我错过获取信息的魔术关键词,但是您链接的文章正是我所需要的。 –

+0

@Chris Blackwell,你是怎么解决这个问题的?我已阅读文章并没有找到任何解决方案 – dimayak

+0

已经有一段时间了,但我相信我使用了DwmSetIconicThumbnail,但我也注意到D3DPRESENT有一个D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR标志可能会有所帮助。对不起,我的记忆很生疏,我无法再访问那个源代码。 http://msdn.microsoft.com/en-us/library/windows/desktop/dd389411(v=vs.85).aspx –