web-dev-qa-db-ja.com

高DPI画面とWindows:プログラムを低解像度画面と同じように動作させる方法

高解像度のラップトップ画面でWindows 10を使用しています。一部のプログラムは高解像度画面をサポートし、シャープに見えます。一部の画像はぼやけて見えますが、正しいサイズで表示されます。私は両方に満足しています。

ただし、高DPI設定のサポートが中途半端になっているプログラムもあります。それらのプログラムは小さく表示されるか、一部のウィンドウ要素が小さい一方で他のウィンドウ要素は通常のサイズです。これにより、これらのプログラムの一部は明らかに使用できなくなり、他のプログラムは非常に不快になります。

これらのプログラムをだまして、低解像度の画面で実行していると思わせてから拡大するようにWindowsに要求する方法はありますか比例的に?すべてのウィンドウ要素がぼやけて表示される場合でも、すべてのウィンドウ要素が正しいサイズでレンダリングされることを希望します。

混乱を避けるために、私はアプリケーションプロパティの「高DPI設定でディスプレイスケーリングを無効にする」互換性設定を認識していますが、これは私が必要とするものではありません。私はこれの反対を求めています:enableぼやけたアップスケーリングで、アプリケーションに低解像度画面で実行されていると信じ込ませます。

11
Szabolcs

大きな銃を破壊しましょう。

Application Compatibility Toolkit をダウンロードしてインストールします。これには、32ビット版と64ビット版の2つのバージョンで提供される、Compatibility Administratorと呼ばれるプログラムが含まれます。叩きたいアプリケーションと同じビット数で実行してください。

背景:多くのアプリケーションは、特定の機能をサポートしていると主張していますが、実装を台無しにしています。マイクロソフトはこれを常に扱い、一般的な問題の修正を再利用するための互換性インフラストラクチャを作成しました。これらの修正は、Windows APIへの呼び出しをインターセプトするシムとして実装されます。アプリケーションのDPI認識の宣言を効果的にキャンセルするシムを使用します。他のシムはより洗練された/設定可能なことを行います( CorrectFilePaths を参照)一方で、その環境についてアプリケーションに嘘をつくものもあります( ForceAdminAccess など) 。

Compatibility Administratorの左側のウィンドウの下部に、カスタムデータベースの新しいエントリが表示されます。それを右クリックし、Create NewCompatibility Modeを選択します。何か名前を付けます(私はDpiMisbehaviorを使用しました)。左側のリストでDPIUnawareを見つけ、>ボタンをクリックして有効にします。完了したら、[OK]をクリックします。

creating the compat mode

カスタムデータベースを再度右クリックし、Create NewApplication Fixを選択します。プログラム名とベンダーを入力し(これらはあまり重要ではありません)、アプリケーションのメインEXEを選択します。 (これは、Compatibility Administratorのビットネスが重要な場所です。)完了したら、[次へ]を押します。

creating the fix

追加の互換モードで、下にスクロールして、少し前に作成した互換モードを見つけます。そのボックスをチェックします。必要に応じてテストを実行し、[次へ]をクリックします。

applying the fix

厳密に言えば、特定の修正をここで適用できるため、互換モードを作成する必要はありませんでした。後でそのモードに修正を追加する必要がある場合に備えて、そのモードで配置したすべてのアプリに修正が適用されるようにしてください。したがって、Compatibility Fixesステップで何もせずに、単にNextを押すことができます。

no extra fixes necessary

マッチング情報は、プログラム(EXE)が表すアプリを識別するために使用されます。 (修正を必要としないプログラムに修正が適用された場合、それはかなり残念です。)プログラムが修正を取得するには、チェックされたすべてのエントリが一致する必要があります。互換性管理者は、以前に指定したEXEからこれらの基準値を引き出しました。デフォルトは問題ありませんが、そのようなことを強く感じた場合は変更できます。満足したらFinishを押します。

no action needed on matching info

それを必要とするすべてのプログラムに対して、アプリケーション修正の作成を繰り返します。次に、ツールバーの「保存」を押します。好きな名前を付けてください。 DPI Repairを使用しました。次に、必要なファイルシステムの任意の場所に保存します。後で変更する必要がある場合は、[開く]ツールバー項目を使用してそのファイルを選択できます。

最後に、新しく名前を付けたカスタムデータベースを右クリックし、Installを選択します。

success

そうそう。

将来、互換性データベースを変更する必要がある場合は、それを開いて適切な変更を行い、[保存]をクリックしてから、再インストールしてください。古いバージョンをそのまま上書きします。実際、このデータベースを別のコンピューターにコピーし、Compatibility Administratorを使用して、データベースを再作成せずにそこにインストールできます。

オプションのエンターテイメントApplicationsエントリをSystem DatabaseMicrosoftがこのインフラストラクチャで修正する必要があったプログラムのリストを表示します。プログラムのエントリをクリックすると、適用された修正と互換モードが表示されます。 Compatibility Fixesの下に、コンピューターが使用できる修正の完全なリストが表示されます。

11
Ben N