webdevqa.jp.net

互換性オプション「ビジュアルテーマを無効にする」は何をしますか?

「デスクトップコンポジションを無効にする」フラグは、アプリケーションの実行中、Aero(透明なガラスの境界線)効果を無効にします。これは「ビジュアルテーマ」にすべてあるように見えますが、「ビジュアルテーマを無効にする」オプションを切り替えても何も起こらないようです。 。これらの「視覚的テーマ」とは正確には何ですか?それらを無効にすると、システムにどのような影響がありますか?

私が推測できることから、「ビジュアルテーマ」は、フックとWDM API呼び出しを使用して作成されたウィンドウコンテンツ領域の周りのカスタムウィンドウ境界線スタイルですが、修正する準備ができています。

チェックされたオプションについて話している:

4
user1306322

「デスクトップ構成を無効にする」フラグは、アプリケーションの実行中、Aero(透明なガラスの境界線)効果を無効にします。これは、「視覚的なテーマ」にすべてあるようです。

正しい;そのプログラムの実行時に、Aero Glassまたは Desktop Window Manager (または拡張機能としてハードウェアアクセラレーション)を使用しないようにWindowsに指示します。したがって、そのように構成されたプログラムが実行されると、画面上のすべてのウィンドウは、それぞれが独自に取得する代わりに、同じ フレームバッファー を共有します。これは、物事が非常に特殊な方法であり、提供されたインターフェイスを使用する代わりにハードコードされた(場合によっては文書化されていない)メソッドを使用することを期待する少数のプログラムでのみ必要です。幸い、これは一般的に非常に古いプログラムに限定されています。

これらの「視覚的テーマ」とは正確には何ですか?私が推測できることから、「ビジュアルテーマ」は、フックとWDM API呼び出しを使用して作成されたウィンドウコンテンツ領域の周りのカスタムウィンドウ境界線スタイルですが、修正する準備ができています。

あなたは正しいです;視覚的なテーマやスタイルは、Windowsインターフェイスの派手なグラフィカルレンダリングchrome(境界線、およびボタン、ラジオボタン、チェックボックス、スクロールバーなどのコントロール)です。

Windows XPでは、太くて丸みを帯びた青いWindowsの境界線と光沢のある赤い[x]を持っていたのはLunaテーマ(図3)でした。 Windows Vistaおよび7には、「ガラス」の透明効果を含むAeroテーマ(図4)と、まだテーマ/スタイルが含まれていないWindows Basicテーマ(図5)があります。

それらを無効にすると、システムにどのような影響がありますか?

このオプションでは、プログラムの実行中にWindowsでテーマをオフにし、Windowsクラシックテーマ(図1)を使用するだけです。これは通常は必要ありませんが、テーマに基づいたWindowsで実行すると、理論的には(おそらく非常に古い)プログラムが存在する可能性があります。 Windowsのテーマはかなり前から存在していることに注意してください(Windows XPが最初に含まれ、2001年にリリースされました)。したがって、ほとんどの場合、それ以前に作成されたプログラムのみが問題になります。以前に述べたように、それらは新しいがプログラムが不十分です(APIの代わりに直接呼び出しなどを使用して記述されたものには、ここでは「不十分」を使用しています。互換性のないプログラムが適切に記述されている可能性がありますが、単に専門化されています)。

ただし、[ビジュアルテーマを無効にする]オプションを切り替えても何も起こらないようです。

効果を確認するには、次の3つの条件が満たされている必要があります。

  1. テーマを使用するようにWindowsを構成する必要があります(現在クラシックテーマに設定されている場合は何も表示されません)
  2. プログラムはその互換性オプションをチェックする必要があります
  3. プログラムは、表示できるようにウィンドウ処理する必要があります。明らかに、フルスクリーンプログラムの変更は表示されません

互換性オプションの影響は、Disable desktop compositionオプションよりもDisable visual themesオプションの方が明白です。これは、デスクトップ構成がプログラムに対して無効になっている場合、プログラムが存在するまで(つまり、ハードウェアアクセラレーションを使用するビデオプログラムは、存在するまでAeroをオフにします)。ただし、テーマをオフにすると、実際に画面に表示される内容にのみ影響するため、フルスクリーンプログラムに設定されている場合、Windowsはテーマをオフにしますが、プログラムがフルスクリーンであるため表示できません。 Alt+Tab デスクトップに切り替えるには、それらをオンに戻し、プログラムに戻すと再びオフにします。ターゲットプログラムがウィンドウ処理されている場合にのみ表示されます。次に、すべてのウィンドウがテーマ化されていないことに気付くでしょう。


図1Windows 2000(およびそれ以前)の[実行]ダイアログ

Run dialog in Windows 2000 and earlier

図2:WindowsClassicテーマはWindows2000(および以前の外観)を複製します

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基本テーマ

Run dialog in Windwos 7 Basic theme

図6:そして、ちょうど良い意味で、デフォルトのWindows 8テーマは、単に「Windows」と適切に呼ばれています

Run dialog in Windows 8 theme

8
Synetech

すべてのアプリケーションがこの設定の影響を受けるわけではありません。たとえば、メモ帳はそうではありませんが、他のテキストエディタ(SciTE)はそうです。これの基準が何であるかわかりません。

以下に、小さな違いがたくさんあることがわかります。ビジュアルテーマが無効になっている場合、メニューの選択は反転したテキストで青一色になり、メニューバーの背景は網掛けがなくなり、メニューはよりコンパクトになり、ホットキーは左揃えになり、スクロールバーはまったく異なります。

あなたはそれらがシステムにどのように影響するかを尋ねます。彼らは実際にはありません。 99.9%の確率でそれはただの美的です。ただし、Windows7のビジュアルテーマでテストされたことのない古いアプリケーションの機能を妨げる可能性があると考えられます。たとえば、メニューのコンパクトさが劣るという事実により、大きなメニューが画面の高さを超えて広がる可能性があります。

ビジュアルテーマ有効: dfdsds

ビジュアルテーマ無効: enter image description here

2
Jason

ここでのキーワードは互換性です。このオプションは、最新のWindows要素では正しく実行されない古いプログラムに互換モードを提供するために存在します。下位互換性の原則を無視し、このようなオプションに置き換えることは、Microsoftの伝統です。同じオプションが、最新のWindowsテーマと競合する独自の派手な視覚スタイルを持つnewプログラムに役立つ場合があることに注意してください。これは通常、コーディングが不適切であるか、柔軟ではないか、ソフトウェアが古いために発生します。

このオプションonlyは、特定のバージョンのアプリケーションが必要であり、システム内で実行できない場合に使用します。互換性の問題を解決するための推奨される方法は、アプリケーションを最新バージョンにアップグレードすることです。このオプションは問題の解決に役立つ可能性がありますが、何も保証するものではありません。

単一のアプリケーションのビジュアルテーマを無効にする(ショートカットまたは実行可能ファイル固有の設定を介して)ことと、ユーザーのビジュアルテーマをグローバルに無効にする(Advanced System Settings>Advanced>Performance)。 2番目のオプションは、互換性のためではなく、システム全体のパフォーマンスを向上させるためのものです。新しいバージョンのウィンドウのビジュアルテーマは、リソースを大量に消費します。

互換性オプションは、バージョン7までのWindowsでのみ使用可能であることに注意してください。バージョン8以降、この機能は無効になります( Microsoftフォーラムでのディスカッション を参照)。

2
Art Gertner

その話の「テーマ」はWindowsXPのLunaインターフェイスに関連していると確信しているので、無効にすると、Windowsは標準の「3.1/95」(クラシックが適切な名前だと思います)スタイルで描画します。

Vista以降の場合、私はthink組み込みのテーマを無効にし、同じことを行います(Classicを使用)...それらのいずれも取得していません今すぐ再確認してください。

Windows 8のクラシック ugh :-)

1
cjb110