題 兼容性選項“禁用視覺主題”有什麼作用?


“禁用桌面組合”標誌在應用程序運行期間禁用Aero(透明玻璃邊框)效果,這看起來就像“視覺主題”一樣,但切換“禁用視覺主題”選項似乎沒有做任何事情。這些“視覺主題”究竟是什麼?如何禁用它們會影響系統?

根據我的猜測,“視覺主題”是使用鉤子和WDM API調用創建的窗口內容區域周圍的自定義窗口邊框樣式,儘管我已準備好進行更正。

我在談論選中的選項:


4
2017-12-30 07:08


起源




答案:


“禁用桌面組合”標誌在應用程序運行期間禁用Aero(透明玻璃邊框)效果,這看起來就像“視覺主題”一樣

正確;它告訴Windows不要使用Aero玻璃或 桌面窗口管理器 (或通過擴展,硬件加速)運行該程序。因此,當運行這樣配置的程序時,屏幕上的所有窗口共享相同的內容 幀緩衝區 而不是每個人都得到自己的。這只需要一小部分程序,這些程序期望事物是一種非常特定的方式,並使用硬編碼(可能是未記錄的)方法而不是使用提供的接口。幸運的是,這通常僅限於非常舊的程序。

這些“視覺主題”究竟是什麼?根據我的猜測,“視覺主題”是使用鉤子和WDM API調用創建的窗口內容區域周圍的自定義窗口邊框樣式,儘管我已準備好進行更正。

你是對的;視覺主題或樣式是Windows界面chrome的奇特圖形渲染(邊框以及按鈕,單選按鈕,複選框,滾動條等控件)

在Windows XP中,Luna主題(圖3)具有厚的圓形藍色Windows邊框和光澤的紅色 [x]。在Windows Vista和7中,有Aero主題(圖4),其中包括“Glass”透明效果,以及Windows Basic主題(圖5),它沒有,但仍然是主題/風格。

如何禁用它們會影響系統?

該選項只是讓Windows使用關閉主題並在程序運行時使用Windows Classic主題(圖1)。這通常不是必需的,但同樣,理論上可能存在一個(可能是非常舊的)程序,如果在主題Windows上運行則會被塞進去。請注意,Windows主題已經存在了很長一段時間(Windows XP是第一個包含它們並在2001年發布),因此在大多數情況下,只有之前編寫的程序才會出現問題,除非如前所述,它們是新的但很差編程(我在這裡使用“很差”用於使用直接調用而不是API編寫的任何東西;有可能編寫一個不兼容的程序,但只是專門的)。

但切換“禁用視覺主題”選項似乎沒有做任何事情。

要查看效果,您需要滿足三個條件:

  1. Windows必須配置為使用主題(如果當前設置為Classic主題,則不會看到任何內容)
  2. 程序必須選中該兼容性選項
  3. 該程序必須加窗,以便您可以看到它;顯然,你不會看到全屏程序的任何變化

兼容性選項的效果更明顯 Disable desktop composition 選項比 Disable visual themes 選項,因為當程序禁用桌面合成時,它會一直保持關閉,直到程序存在(就像使用硬件加速的視頻程序將關閉Aero直到它存在一樣)。但是,關閉主題只會影響屏幕上實際顯示的內容,因此如果將其設置為全屏程序,Windows會關閉主題,但由於程序是全屏的,您無法看到它,但如果按下 Alt鍵+標籤 要切換到桌面,當您切換回程序時,它會重新打開然後再關閉。僅在目標程序窗口化時才可見;那麼你會注意到所有的窗戶都是無主題的。


圖1 Windows 2000(及更早版本)中的對話框

Run dialog in Windows 2000 and earlier

圖2:Windows經典主題複製Windows 2000(和早期的外觀)

Run dialog in Windows XP Classic theme

圖3:Windows XP的Luna主題

Run dialog in Windows XP Luna theme

圖4:來自Windows Vista和7的Aero主題

Run dialog in Windows 7 Aero theme

圖5:Vista和7的Windows Basic主題

Run dialog in Windwos 7 Basic theme

圖6:只是為了衡量,默認的Windows 8主題,簡稱為“Windows”

Run dialog in Windows 8 theme


8
2018-06-14 15:47



這聽起來不錯,但實際上並不正確。 “禁用視覺主題”不會影響窗口邊框,關閉按鈕或透明度。你的Windows主題是什麼並不重要,無論是否全屏都沒關係。您提供的三個條件並不能解釋為什麼它不適用於某些應用程序。 - Jason
我說的應該是這樣的。如果您沒有看到效果,那麼它可能是您應用它們的程序特有的。你說 它不適用於某些應用程序,這意味著它 不 為某些人工作。使用該設置時它會起作用的是什麼?表面上它完全符合我的描述。在這種情況下,你的問題不是 這個選項有什麼作用? 反而, 為什麼這個選項對某些特定程序沒有做任何事情? 這是一個不同的問題,您需要提供更多信息(程序名稱)以獲得答案。 - Synetech


這裡的關鍵字是 兼容性。此選項的存在是為了為某些較舊的程序提供兼容模式,這些程序無法使用現代windows元素正確運行。微軟的一個傳統是忽略了向後兼容性的原則,並將其替換為像這樣的選項。請注意,有時相同的選項對於有用  具有自己喜歡的視覺風格的程序與現代windows主題相衝突。這通常是由於糟糕/不靈活的編碼或過時的軟件而發生的。

使用此選項 只要 如果您需要特定版本的應用程序,並且無法在系統中執行它。解決兼容性問題的首選方法是將應用程序升級到最新版本。該選項可能有助於解決問題,但不保證任何事情。

了解禁用單個應用程序的可視主題(通過快捷方式或可執行文件的特定設置)與為用戶全局禁用可視主題之間的區別非常重要(在 Advanced System Settings>Advanced>Performance)。第二種選擇不是為了兼容性,而是為了改善整個系統的性能。新版Windows中的視覺主題非常耗費資源。

請注意,兼容性選項僅適用於最高版本為7的Windows。從版本8開始,此功能已禁用(請參閱 在Microsoft論壇上討論


2
2018-06-10 08:49





並非所有應用程序都受此設置的影響。例如,記事本不是,但我的其他文本編輯器(SciTE)是。我不知道這個標準是什麼。

下面你會看到有很多小的差異。禁用視覺主題後,菜單選項為純藍色,帶有反轉文本,菜單欄背景鬆開陰影,菜單更緊湊,熱鍵左對齊,滾動條完全不同。

你問它們如何影響系統。他們不是真的; 99.9%的時間只是審美。但是,可以想像它可能會干擾從未使用Windows 7視覺主題測試過的舊應用程序的功能。例如,菜單不太緊湊的事實可能導致大菜單延伸超過屏幕的高度。

視覺主題 啟用dfdsds

視覺主題 enter image description here


2
2018-06-13 22:12





我很確定它所談論的'主題'與Windows XP的Luna界面有關,所以禁用它會迫使Windows在標準的“3.1 / 95”中繪製它(我認為經典是正確的名稱)風格。

對於Vista或更高版本我 認為 它將禁用他們內置的主題並做同樣的事情(使用經典)...沒有得到其中一個現在雙重檢查。

Windows 8上的Classic 呃:-)


1
2018-06-10 07:24



這是一個定制的win8主題順便說一句,它類似於經典,但不是真的。我想這意味著它不會以任何方式保存任何CPU,或者甚至可能進一步增加RAM的使用。我正在談論的那些兼容性的主要目標是減少CPU和內存使用。 - user1306322
@ user1306322好的,不確定後者,主要目標是使Windows的行為與以往一樣,與節約資源無關。 - cjb110
I'm fairly sure the 'theme' its talking about relate back to Windows XP's Luna interface 實際上,它指的是Windows 7主題(Aero或Basic,具體取決於所使用的內容)。 Windows 7不使用Luna。 Classic on Windows 8 ugh :-) 同意。 Windows 7中的經典主題很好(假設您將任務欄設置為 小),但在Windows 8中,它確實是醜陋的,看起來並不正確。 - Synetech
我使用Luna作為'主題引擎',就像這個選項首次出現時一樣,然後更明顯的是它應該做什麼:禁用Luna使應用程序看起來像以前一樣。是的7月8日它禁用Aero,但想法是相同的不適用任何主題引擎,所以它看起來像經典。 - cjb110