2011-10-28 52 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

相關問題