我見過一個應用程序,通過刪除標題欄和窗口邊框來模擬全屏應用程序。我做了一些研究,發現getWindowLongPtr()。模擬全屏
現在我的問題:我如何找到並識別應用程序並獲得相應的窗口句柄?如何區分應用程序的多個實例(從光盤上的不同位置運行)?
只是爲了使「模擬」更精確。如果您將應用程序設置爲全屏,並且您單擊了不同的顯示器,則會使其本身最小化。如果應用程序在窗口中運行,並且您單擊不同的監視器,則窗口不會更改。如果刪除窗口的邊框並將其放置在左側或右側顯示器上,則仍然可以在不使應用程序最小化的情況下使用另一臺顯示器。它仍然看起來像在其中一個監視器上運行全屏的應用程序。
舉個例子:你可以設置Eve(www.eveonline.com)爲全屏和窗口模式。在全屏模式下,您無法點擊第二臺監視器,而無需使自己最小化。在窗口模式下,你可以。有像evemover這樣的工具可以讓你在一臺監視器上設置你的窗口,看起來像全屏,但是處於窗口模式。這就是我想要的。 Evemover實際上提供了它的一些源代碼,這就是爲什麼我知道使用帶有setWindowLongPtr和setWindowPos的Win32-API完成刪除邊框和設置位置的原因。
你是怎麼意思模擬它的?製作全屏win32應用程序的方法是創建窗口無邊框,沒有標題欄並使屏幕變大。 – Toad 2009-12-08 08:42:06
還有另一種方法 - 初始化DirectX時選擇全屏作爲選項 – 2009-12-08 12:13:40
您可以給出一個示例上下文嗎?你在尋找類似遊戲的行爲嗎?或者(因爲沒有更好的描述),一個Macintosh暴露的行爲(全屏覆蓋,可以輕鬆解散)。最小化丟失焦點會被嚴重使用嗎? – Fox 2009-12-08 13:48:11