C:\Windows 内のプログラムの高 DPI 設定を変更するにはどうすればよいですか?

C:\Windows 内のプログラムの高 DPI 設定を変更するにはどうすればよいですか?

Windows 10、64 ビット。私の個人用ラップトップ。

私のマシンでは C:\Windows\hh.exe (HTML ヘルプ ビューアー) が適切に拡大縮小されないため、高 DPI モードのシステム スケーラーを有効にする必要があります。

しかし、何らかの理由で互換性hh.exe のプロパティ ウィンドウ (右クリック → プロパティ) にタブがありません。C:\Windows 内の他のすべてのアプリケーションでも同じようです。

おそらく権限の問題だと思いますが、セキュリティタブでクリックすると編集しかし、すべてのコントロールが無効になっているため、権限を変更することはできません。信頼できるインストーラフル コントロール権限がありましたが、コンピューターの管理コンソールでは実際のグループではなく、セキュリティ オブジェクトの検索ダイアログにも表示されないため、自分自身を追加できませんでした。

ただし、それが権限の問題であるかどうかはわかりませんが、試してみることができる唯一の方法はそれです。

そこで質問ですが、C:\Windows にある実行可能ファイルのプロパティ ウィンドウの互換性タブにアクセスするにはどうすればよいでしょうか?


他に試したがうまくいかなかったのは、デスクトップに hh.exe へのショートカットを作成し、そこから互換性設定にアクセスできるようにすることでした。残念ながら、役に立たず、タブはまだ利用できません。

ここに画像の説明を入力してください


また、互換性設定をレジストリに手動で追加してみました(情報提供元:このページ):

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]

"C:\\WINDOWS\\hh.exe"="~ GDIDPISCALING DPIUNAWARE"

しかし、それも効果がありませんでした。


また、hh.exeをC:\Windowsからデスクトップにコピーしてみました(テストです)。そして、実際にだった互換性設定を正常に編集し、CHM ファイルを exe にドラッグして開くことができます。

しかし、CHMファイルを右クリックして、コピーをCHMファイルのデフォルトアプリケーションにしようとしました->開く -> アプリを選択 -> デフォルトとして使用しかし、実際にはアプリは変更されませんでした(その場合、私のコピーではアプリが開きませんでした)。

また、コピーの名前を hhcompat.exe に変更して試してみましたが、効果はありませんでした。

以下の変更により、レジストリ内のオープン コマンドを手動で変更してみました。

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command

私のコピーをポイントしますが、レジストリ エディターを管理者として実行しても、「値の新しい内容の書き込みエラー」と表示されます。

それでも、これまでで一番近づいたのはこれです。

答え1

勝利!しかし、これはひどい解決策です。私の投稿にリストされている他のすべての方法を試した後、スケーリングを有効にして、HTML ヘルプ ビューアー (c:\windows\hh.exe) を希望どおりに動作させることができました。このプロセスは非常にハック的なのでお勧めできませんが、私が見つけた唯一の有効な方法でもあります。

  1. どこかにフォルダを作成します (私の場合は「C:\Programs\hhcompat」だったので、ここではそれを例にします)。
  2. C:\Windows\hh.exe をそのフォルダにコピーします。
  3. コピーを右クリックすると、互換性設定を変更できるようになりました。好みに合わせて設定してください。
  4. レジストリ エディターを開きます (奇妙なことに、管理者として実行する必要はありません)。
  5. 案内するHKLM\SOFTWARE\Classes\.chm
  6. デフォルト値は ですchm.file。他の値に変更してください (選択は自由ですが、私は にしましたchm.file2)。
  7. 次に、HKLM\SOFTWARE\クラスキーをクリックして新しいキーを作成し、その名前を前の手順で設定した名前に設定します (例: chm.file2)。
  8. コピーのデフォルトの開始動詞を設定します。
    1. chm.file2(または任意の)にサブキーを作成しますshell
    2. shell名前付きサブキーを作成するopen
    3. open名前付きサブキーを作成するcommand
    4. commandのデフォルト値を"C:\Programs\hhcompat\hh.exe" "%1"(またはコピーのパス)に設定します。
  9. さて、どこかで.chmファイルを見つけてダブルクリックします。新しいアプリケーションですぐに開くわけではありませんが、意思「開く」ダイアログをポップアップします。
  10. ダイアログには 2 つの「HTML ヘルプ ビューアー」エントリがあります。1 つは C:\Windows のコピーで、もう 1 つは自分のコピーです。どちらが自分のものかは、その下に「新規」という文字があるのでわかります (「新規」インジケータがない場合は、最初のものを選んでみてください)。
  11. それを選択し、「このアプリを常に使用する」ボックスにチェックを入れます。
  12. これで完了です。.chm ファイルをもう一度ダブルクリックして、正常に動作しているかどうかを確認してください。

これらのステップの具体的な理由は次のとおりです。

  • 実行ファイルを別の場所にコピーすると、互換性設定にアクセスできます。C:\Windows にあるものにはできないと思います。少なくとも、その方法はわかりませんでした (そうでなければ、この操作はまったく必要ありません)。
  • .chmシステムではデフォルトのシェルコマンドを編集できないため、ファイルのタイプを別のものに変更する必要がありますchm.fileが、意思.chm編集したり新しいキーを追加したりすることができますHKLM/ソフトウェア/クラス
  • 私の知る限り、コントロール パネルでもシェルの「開く」ダイアログでも、.chm ファイルの既定のアプリを実際に変更することはできないため (少なくとも「chm.file」として識別される場合は)、レジストリを通じて行う必要があります。
  • 手順 7 と 8 (「chm.file2」エントリの作成と動詞の設定) は不要で、手順 6 で .chm を「chm.file2」に変更するだけで、次に .chm ファイルをダブルクリックしたときに「開く」ダイアログが表示される可能性があります。ただし、試していないのでわかりません。

そうですね。システム ユーティリティの高 DPI スケーリングを修正するためだけに、これだけの手間をかけるのは、非常に馬鹿げています (そもそも壊れるべきではなかったのですが...)。しかし、これが現実です。同様のプロセスが他のシステム アプリケーションでも機能する可能性があります。結果は人それぞれです。

より良い方法をまだ模索しています。

答え2

これをもっと簡単な方法で行うことができました。

C:\Windows から hh.exe をコピーし、コピーを C:\Program Files に貼り付けました。C:\Program Files 内のファイルの名前を変更して、それがカスタマイズしたバージョンであることがわかるようにしました。次に、[プロパティ] ダイアログを開き、そのバージョンの高 DPI 設定を変更しました。

次に、[設定] -> [アプリ] -> [既定のアプリ] に移動し、ページの下部にある [ファイルの種類別に既定のアプリを選択する] を選択します。ファイルの種類と関連付けられているアプリの一覧が表示されます。下にスクロールして「.chm」まで移動し、関連付けられている既定のアプリである「Microsoft® HTML Help Executable」をクリックします。同じ名前の 2 つのコピーを持つプログラムの一覧が表示されるので、2 番目のコピー (名前を変更した hh.exe の個人用コピー) を選択します。

準備は完了です。*.chm ファイルをダブルクリックすると、互換性設定が設定された個人用コピーが開きます。

プロパティ ダイアログに表示される hh.exe ファイルの個人用コピーの説明を変更する方法が見つかりませんでした。これは元の hh.exe ファイルと同じ「Microsoft® HTML Help Executable」であるため、システム設定で既定のアプリを選択すると、両方のアプリが同じ名前で表示されます。

HTH

関連情報