2016-10-15 36 views

回答

1

就操作系統而言,「全屏模式」或「窗口模式」不存在。一個窗口只是有尺寸,其中可能碰巧與屏幕尺寸是否相同。擁有該窗口的應用程序控制該行爲,而不是操作系統,因此只有應用程序知道它何時以「全屏」或「窗口」模式顯示窗口。

這就是說,應用程序可以選擇調用ChangeDisplaySettings/Ex()CDS_FULLSCREENCDS_RESET標誌時更改模式。這會將WM_DISPLAYCHANGE通知發送到所有頂級窗口,但不會告訴他們全屏窗口正在顯示或不顯示。

至於檢測進程終止,WMI有一個事件。見Receiving Event Notifications Through WMI

+0

我一直認爲全屏應用程序不同於全屏無邊界應用程序。這背後的原因是因爲第一次創建窗口時出現閃爍現象,而後者缺少閃爍。全屏應用程序不能在前臺執行期間在Windows上獲取圖形的所有權? – rlam12

+0

@ rlam12全屏應用程序只是全屏窗口,沒有什麼特別的。我不知道你所指的閃爍,但是「全屏」窗口不會「取得圖形的所有權」,它通常像其他窗口一樣繪製。 –

+0

@ rlam12:自推出DWM以來,GPU不再被應用程序全屏使用,全屏或無法使用(請參閱[DWM中Windows顯示驅動程序模型的作用](https://blogs.msdn。 microsoft.com/greg_schechter/2006/04/02/the-role-of-the-windows-display-driver-model-in-the-dwm/))。 – IInspectable