__COMPAT_LAYER とその使用方法
__COMPAT_LAYER は、実行可能ファイルを右クリックして [プロパティ] を選択し、[互換性] タブに移動すると調整できる設定である、互換性レイヤーを設定できるシステム環境変数です。

知っているものに加えて、いくつかのオプションから選択できます。
- 256Color - 256 色で実行
- 640x480 - 640x480 の画面解像度で実行
- DisableThemes - ビジュアル テーマを無効にします
- Win95 - Windows 95 の互換モードでプログラムを実行します
- Win98 - Windows 98/ME の互換モードでプログラムを実行します。
- Win2000 - Windows 2000 の互換モードでプログラムを実行します
- NT4SP5 - Windows NT 4.0 SP5 の互換モードでプログラムを実行します。
スペースで区切って複数のオプションを使用できます。set "__COMPAT_LAYER=Win98 640x480"
__COMPAT_LAYER 変数
の設定解除 これらの設定は、変数が存在する限り維持されます。変数が設定されたコマンド プロンプトが閉じられるか、変数がコマンドで手動で設定解除されると、変数は存在しなくなりますset __COMPAT_LAYER=
。
バッチ スクリプトを介して変数を設定しているため、ドラッグした実行可能ファイルが完了し、スクリプトが閉じられると、変数は自動的に設定解除されます。変数の設定は、選択した実行可能ファイルによって生成されるすべての子プロセスに保持されることに注意してください。
__COMPAT_LAYERを使用する場合のセキュリティ
__COMPAT_LAYER を RunAsInvoker に設定しても、管理者権限がない場合は実際には付与されません。UACポップアップが表示されないようにし、ユーザーが呼び出したとおりにプログラムを実行します。管理者権限を魔法のように取得するわけではないので、これを使用しても安全です。
変数をRunAsHighest (管理者権限がある場合のみ UAC をトリガーし、管理者権限がない場合は付与しない) または RunAsAdmin (常に UAC をトリガーする) に設定することもできます。