Windows 10における関連付けの変更点
Windows 10では、基本的な仕組みは同一なのだが、挙動が違っている。まず、アプリが特定の拡張子に対する既定のプログラムを変更することができなくなった。これまで登録されていなかった拡張子(基本的には、そのアプリ固有の拡張子になる)に対しては、従来通り、アプリが拡張子やファイルタイプに対して自身を既定のプログラムとして登録することはできる。
しかし、すでに拡張子が登録されていて、既定のプログラムが定義されている場合アプリは、既定のプログラムを変更することはできない。インストール時点でアプリができることは、自分自身がすでに登録されている拡張子を扱うことができることだけが登録できる。
エクスプローラーで該当拡張子を「開く」場合に、既定のプログラムを変更するかどうかのダイアログボックスが表示される。ユーザーは、ここで元からある既定のプログラムを利用するか、インストールしたアプリかを指定することができる。つまり、常にユーザーが明示的に既定のアプリケーションを選択するようになっている。
また、アプリが起動時に、APIなどで、既定のプログラムを変更使用とした場合、それは実行されず、ユーザーに対して必要ならば、「設定」→「システム」「既定のプログラム」を使って既定のプログラムを変更するようにメッセージを表示する。これは、ユーザーに操作を強いているようだが、実際には、アプリが既定のアプリとして自分自身を登録しようとしているのが阻止され、ユーザーが既定のアプリを変更する必要を感じるなら「手動でしろ」という意味なのである。
アプリがWindows 8以前の方法でレジストリを書き換えても、Windows 8方式の関連付けが最も優先度が高く、これは、データファイルをダブルクリックしたときに強制的に設定されるため、アプリがWindows 8以前の方式でレジストリを操作して関連付けを定義しても、有効にならない。また、ハッシュ値が計算できないため、ローミング拡張子キーを直接変更することもできない。
つまり、GUIで操作している間は、レジストリは正しくWindows 8方式に保たれ、Windows 10では、ユーザーが明示的に関連付けを変更できることになる。
データファイルを扱う「既定のプログラム」に関しては、このように過去、何回も変更があった。このため、手動でレジストリを扱うことはかなり面倒になっている。ただし、前述の優先順位を理解すれば、レジストリのどのキーが有効なのかは判断が可能になる。
それがわかれば、既定のプログラムになっているアプリのProgIDを編集することで、たとえばデータファイルのアイコンなどを変更することが可能だ。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











