高DPIおよび高解像度ディスプレイで小さく見えるアプリを修正する方法
今日、多くのPCには、UltrabookやタブレットなどのPCのフォームファクタが小さくても、非常に高解像度のディスプレイが付属しています。 または、4K解像度のデスクトップモニターを使用している場合もあります。 このような解像度では、Windowsは自動的にDPIスケーリングをオンにするため、画面上のすべてのものが大きくなります。 ただし、高DPI画面で適切にレンダリングされないサードパーティのアプリがいくつかあります。 画面の解像度に対して小さすぎます。 Windows8.1またはWindows10で適切にスケーリングされない場合に、それらを修正する方法を見てみましょう。
通常、このようなアプリは高DPIディスプレイが表示される前に作成され、高DPIをサポートするように適切に更新されていませんでした。 画面上で小さすぎてフォントを読み取ることができず、適切に拡大縮小されません。 多くの場合、高DPIディスプレイ用に更新されていない古いアプリでは、ボタンが置き忘れられているか、小さすぎてクリックできません。 Windowsは通常、XPスタイルのスケーリングとDPIを認識していることをWindowsに通知しないアプリのDPI仮想化を使用して、すべてのアプリを自動的にスケーリングします。 ただし、Windowsに嘘をついているアプリの中には、そうでない場合でも高DPIを認識しているものがあります。そのため、Windowsはそれらをスケーリングしません。 このようなアプリは、フルHDまたは4K解像度で不適切にレンダリングされます。
それらを修正するために、WindowsにDPI仮想化を使用してアプリをスケーリングさせるトリックを実行できます。 しかし、私のテストによると、それはWindows8.1とWindows10でのみ安全に実行できます。 手順は長く、初心者ユーザーにとっては少し複雑ですが、特定のアプリに対してDPI仮想化を強制するためのクイックGUIはWindowsにはありません。 Windows7またはWindows8.0でこの調整に関連するレジストリの調整を行うと、奇妙なことが発生しました システムトレイアイコンが消えるなどの動作や副作用があるため、実行する場合は自己責任で行ってください これらのOS。 Windows8.1またはWindows10を実行している場合は、次の手順に進みます。
- どこかを右クリックして、[新規]メニューから空白のテキストファイルを作成します。 デスクトップまたはフォルダ内。 テキストファイルには、レンダリングが小さすぎるプログラムEXEの名前を付け、その後に「.manifest」というテキストを付ける必要があります。 たとえば、使用している小さく見えるプログラムの名前がSearchTool.exeの場合、作成するテキストファイルの名前は「SearchTool.exe.manifest」にする必要があります。 EXE名がわからない場合は、タスクバーを右クリックして、そのアプリの実行中にタスクマネージャーを開きます。 アプリを選択して右クリックし、[詳細に移動]をクリックします。 [詳細]タブに、EXE名が表示されます。 次に、適切な名前でテキストファイルを作成できます。 例えば Processname.exe.manifest。
- ここから無料のResourceHackerプログラムをダウンロードしてインストールします。 http://www.angusj.com/resourcehacker/. リソース編集ツールです。 これが必要な理由は、アプリマニフェストがEXE内に保存されることがあり、Windowsはデフォルトでこの内部アプリマニフェストを優先するためです。 内部アプリマニフェストが存在する場合、つまりアプリの開発者がそれを追加した場合、それを完全に無視したくありません。 DPIスケーリングに加えて、アプリのサイドバイサイド構成とUACに関するその他の重要な情報が含まれているためです。 標高。
- Resource Hackerを起動し、アプリのEXEを開きます。これは、高解像度ディスプレイでは使用できないほど小さく見えます。
- プログラム(EXE)マニフェストリソースは通常、リソースタイプ24として保存されます。 このリソース24が存在するかどうかを確認します。 開いたEXE内にそのようなリソース#24が存在しない場合は、Resource Hackerを閉じて、ファイルを開きます。 手順1でメモ帳に作成し、次のテキストをコピーして貼り付け、テキストを保存して閉じます。 ファイル:
1.0 UTF-8 はい?>
NS ここで、開いたEXE内にリソース24がなく、上記の手順を実行した場合は、手順9に直接スキップします。
- 代わりに、Resource Hackerで開いたEXEにリソース24が存在する場合は、24-> 1というノードを展開し、1033アイテムをクリックします(英語版の場合は1033です)。 右ペインを右クリックし、[すべて選択]をクリックします。 次に、選択したテキストをもう一度右クリックし、[コピー]をクリックしてResourceHackerを閉じます。 EXEはデジタル署名または圧縮されている可能性があるため、EXEの内部マニフェストに変更を加えないでください。 元のEXEを変更したくありません。
- メモ帳を開き、手順1で作成したファイルをメモ帳で開き、Resource Hackerからコピーしたものをメモ帳に貼り付けて、[ファイル]メニューからこのファイルを保存します。
- このファイルで、dpiawareフラグがTrueに設定されているセクションがあるかどうかを確認します(これは、高DPIディスプレイで小さく見える場合、アプリがDPI対応であると主張していることを意味します)。
NS 存在する場合は、TrueからFalseに変更します。 アプリのマニフェスト情報にDPI認識に関連するそのようなセクションが存在しない場合は、マニフェストファイルの次の行の直後に上記のテキストブロックを追加します。
- dpawareフラグをTrueからFalseに変更し、変更内容をファイルに保存して閉じます。
- ファイルをEXEのフォルダにコピーします。 たとえば、プログラムがC:\ Program Files \ Contoso \ SearchTool.exeにインストールされている場合は、マニフェストをC:\ Program Files \ Contosoディレクトリにコピーします。
- 次に、Windowsを微調整して、EXE内に埋め込まれた内部マニフェストファイルよりも外部マニフェストファイルを優先するように指示する必要があります。 このレジストリの調整は、Windows8.1およびWindows10で*のみ*実行する必要があります。 Windows7またはWindows8.0 RTMを実行している場合、次のレジストリの調整を行うと、一部のシステム機能の破損やアプリのクラッシュなどの予期しない副作用が発生する可能性があります。
- Windows8.1またはWindows10でレジストリエディター(Regedit.exe)を開きます。 次のレジストリサブキーに移動します。
HKEY_LOCAL_MACHINE>ソフトウェア> Microsoft> Windows> CurrentVersion> SideBySide
- 右クリックして、[新規]> [DWORD(32ビット)値]を選択します。 PreferExternalManifestという名前を付けて、Enterキーを押します。
- PreferExternalManifestを右クリックし、[変更]をクリックします。 値データ1を入力します。 [OK]をクリックします。 レジストリエディタを終了します。
- 次に、Windowsを再起動し、このマニフェストを追加したアプリを実行します。
アプリはWindowsDPI仮想化機能によってスケーリングする必要があり、使用できないコントロールで小さすぎないように見えます。 テキストがぼやけて見える場合がありますが、これはアプリ開発者が高DPI用にアプリを更新しなかったためです。 わずかにぼやけたテキストは、小さなコントロールを備えた読みにくい小さなサイズのユーザーインターフェイスよりも許容できます。
アプリがまだ活発に開発されている場合は、開発者に連絡して、EXEを高DPI対応としてマークするだけでなく、実際に高DPIで適切にスケーリングできるようにする必要があります。 アプリがメンテナンスされていない場合は、運が悪いです。 これは、アプリの見た目と同じくらい良好です(テキストが少しぼやけています)。 ただし、アプリはこれで使用できるはずです。