web-dev-qa-db-ja.com

Windows 7は、アプリケーションのDPI / PPIスケーリングをオフにできません

DPIスケーリングが120DPIに設定されたWindows7があります。これは、クリップされたテキスト、ぼやけたグラフィック、または大きすぎるテキストなどの古いアプリケーションでいくつかの問題を引き起こします。これらのアプリケーションのDPIスケーリングを無効にしたいのですが。私はそれを試しました:application.exe "context menu-> properties-> compatibilty-> Disable display scaling on high DPI settings"。

この設定は何も変更しません。アプリケーションは引き続き96 DPIではなく120 DPIとして表示されます。私はまた、仮想マシンのめちゃくちゃになっていない新しいWindows 7でも同じ動作を確認しました。

問題は、単一のアプリケーションに別の機能的な方法で96DPIを使用させる方法です。

8
pawel159

私は同じ問題を抱えていて、チェックボックスのいずれかを選択しても違いはありませんでした。これは私がそれを修正したことです:

  1. [コントロールパネル\外観とカスタマイズ\表示]に移動し、[カスタムテキストサイズ(DPI)の設定]オプションをクリックします。 [Windowsを使用するXPスタイルのDPIスケーリング]]チェックボックスがオフになっていることを確認します。必要に応じてログオフして変更を適用します。

  2. 互換性設定を自分で選択する代わりに、ウィザードを実行して、Windowsに選択させます。これを行うには、プログラムアイコンを右クリックし、メニューから[互換性のトラブルシューティング]を選択します。これにより、表示のクリッピングが修正されました。テキストは少しあいまいですが、私は一緒に暮らすことができます。全部見ることができてうれしいです。 :)

4
mastseller

これは非常に古い質問だと思いますが、修正を見つけました。テーマ([コントロールパネル]> [すべてのコントロールパネルアイテム]> [パーソナライズ])をAeroテーマから基本テーマに切り替えると、アプリケーションごとの表示スケーリングが実際に機能します。

2
Dave

推測ですが、アプリをxp互換モードで実行した場合、またはそのアプリのビジュアルテーマ設定を無効にした場合、DPI設定は無視されますか?

1
acme64

次のような64ビットアプリケーションの場合、Disable display scaling on high DPI settingsチェックボックスがグレー表示されていることがわかります。

enter image description here

microsoftが64ビットアプリケーションに対してこの設定を拒否するロジックを構築したことが原因である可能性があります。この場合、 https://superuser.com/a/1018284/460302 の指示に従って、 Application Compatibility Toolkit を取得することをお勧めします。

前述の回答では、ユーザーBen Nは、「互換性のない」アプリケーションを処理するためのWindowsのロジックとフレームワークに関する広範な洞察を提供します。彼の手順により、アプリケーションの署名によって互換性を管理し、アプリとそのバージョン番号やレジストリエントリの変更をアップグレードしても、引き続きカバーされるようにします。

たとえば、Rainmeter 3.3.0.2519の署名は次のとおりです。

enter image description here

Rainmeterをアップグレードすると、機能しなくなりました。そこで、バージョン番号なしで新しい署名を作成しました。

enter image description here

..そして、私の新しい64ビットリリースのRainmeterは正しく表示されます。

Ben Nと言うように、大きな銃を破壊しましょう

0
CODE-REaD

同じ問題が発生しましたが、 sevenforums.com の「オプション3」(以下を参照)が役に立ちました。プロパティダイアログで、リモートサーバーから実行されるアプリケーションに必要な設定を行うことができませんでした。

追加 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersおよび/またはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers新しい「文字列値」。

名前をアプリケーションのフルパスに変更します(つまり、\\server\dir\app.exeまたはc:\dir\app.exe)そしてこれらのオプションに従って「値データ」を設定します(複数の設定が可能で、スペースで区切ることができます):

# Compatibility Mode        Data Value
Windows 95                  WIN95
Windows 98 / Windows Me     WIN98
Windows NT 4.0 (SP 5)       NT4SP5
Windows 2000                WIN2000
Windows XP (SP 2)           WINXPSP2
Windows XP (SP 3)           WINXPSP3
Windows Server 2003 (SP 1)  WINSRV03SP1
Windows Server 2008 (SP 1)  WINSRV08SP1
Windows Vista               VISTARTM
Windows Vista (SP 1)        VISTASP1
Windows Vista (SPk 2)       VISTASP2
Windows 7                   WIN7RTM

#Settings                           Data Value
Run in 256 colors                   256Color
Run in 640 x 480 screen resolution  640x480
Disable visual themes               DISABLETHEMES
Disable desktop composition         DISABLEDWM
Disable display scaling on 
  high DPI settings                 HIGHDPIAWARE
Run this program as Admin           RUNASADMIN

これらの設定で、次のようにアプリケーションを実行できました。

名前: \\server\dir\app.exe

値のデータ:DISABLETHEMES HIGHDPIAWARE RUNASADMIN

0
gilu

マストセラーの回答(1.回答)は機能していますが、アプリケーションのテキストの多くがあいまいになっています:(。ただし、[Windows XPスタイルのDPIスケーリングを使用する]チェックボックスが機能しているため、あいまいなアプリケーションがある場合は正しいサイズの妨害では、小さいサイズよりも次のようにします。1)ファイルマネージャーでアプリケーションスターターファイル(.exe、.com)を検索します。ORアイコンです(または、アプリケーションが実行中の場合は、 Windowsのタスクマネージャでも見つけてください)。 2)それを右クリックし、プロパティをクリックします。 3)[互換性]タブをクリックします。 4)[Windowsを使用XPスタイルのDPIスケーリング]チェックボックスをオンにします。 5)アプリケーションを再起動します(実行中です)。

すべてのファジーアプリケーションを1つずつ処理する必要がありますが、動作します。

0
Darknight