2011-10-28 54 views
0

我正在使用使用DirectDraw函数进行显示的全屏应用程序,并且它工作正常。 现在我想用自己的窗口显示另一个应用程序,但其他应用程序在启动时隐藏在全屏直接绘制应用程序的后面。我只能在关闭directdraw全屏应用程序时才能访问其他应用程序。在Directdraw全屏应用程序顶部显示另一个应用程序

在运行时是否可以从直接绘制全屏应用程序切换到另一个应用程序?有什么办法可以在全屏DirectDraw函数的顶部显示其他应用程序的窗口,然后在关闭另一个窗口后再恢复回来?

感谢和问候

回答

1

我看着这个前一段时间,发现它做的方式是挂钩的DirectDraw的API,并在那里插入自己的渲染。基本上,在其他应用程序完成绘制场景并准备呈现后缓冲器之后,您的代码会跳入并执行自己的操作。我从来没有做到这一点,但这似乎是一种方法。我不认为有任何'简单'的方法来做到这一点。

另一种选择是查看其他应用程序是否可以全屏窗口模式运行。基本上,没有边框,填满整个屏幕,但没有技术上全屏/独占模式。如果它支持,那么你可以创建一个顶部的窗口,它将显示在顶部。

+0

对不起,我忘了提及其他应用程序不使用DirectDraw,它使用常规的GDI调用。任何想法,如果上述是可能的,如果其他应用程序创建一个正常的窗口或显示一个消息框?现在这些隐藏在第一个应用程序的后面。 – Harish

+0

如果它只是使用GDI调用的全屏窗口,那么尝试将窗口放在最顶层。有关SetWindowPos调用,请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx。你可以在那里提供一个参数,让你的窗口成为“最顶层”,它将显示在全屏窗口的顶部。 – Nerdtron

+0

@Nerdton,我尝试了SetWindowPos和其他API,但仍然无法看到其他窗口。只要第一个应用程序(使用DirectDraw)是全屏,我不能看到其他应用程序窗口(使用GDI) – Harish

相关问题