Windows 10における関連付けの変更点
Windows 10では、基本的な仕組みは同一なのだが、挙動が違っている。まず、アプリが特定の拡張子に対する既定のプログラムを変更することができなくなった。これまで登録されていなかった拡張子(基本的には、そのアプリ固有の拡張子になる)に対しては、従来通り、アプリが拡張子やファイルタイプに対して自身を既定のプログラムとして登録することはできる。
しかし、すでに拡張子が登録されていて、既定のプログラムが定義されている場合アプリは、既定のプログラムを変更することはできない。インストール時点でアプリができることは、自分自身がすでに登録されている拡張子を扱うことができることだけが登録できる。
エクスプローラーで該当拡張子を「開く」場合に、既定のプログラムを変更するかどうかのダイアログボックスが表示される。ユーザーは、ここで元からある既定のプログラムを利用するか、インストールしたアプリかを指定することができる。つまり、常にユーザーが明示的に既定のアプリケーションを選択するようになっている。
また、アプリが起動時に、APIなどで、既定のプログラムを変更使用とした場合、それは実行されず、ユーザーに対して必要ならば、「設定」→「システム」「既定のプログラム」を使って既定のプログラムを変更するようにメッセージを表示する。これは、ユーザーに操作を強いているようだが、実際には、アプリが既定のアプリとして自分自身を登録しようとしているのが阻止され、ユーザーが既定のアプリを変更する必要を感じるなら「手動でしろ」という意味なのである。
アプリがWindows 8以前の方法でレジストリを書き換えても、Windows 8方式の関連付けが最も優先度が高く、これは、データファイルをダブルクリックしたときに強制的に設定されるため、アプリがWindows 8以前の方式でレジストリを操作して関連付けを定義しても、有効にならない。また、ハッシュ値が計算できないため、ローミング拡張子キーを直接変更することもできない。
つまり、GUIで操作している間は、レジストリは正しくWindows 8方式に保たれ、Windows 10では、ユーザーが明示的に関連付けを変更できることになる。
データファイルを扱う「既定のプログラム」に関しては、このように過去、何回も変更があった。このため、手動でレジストリを扱うことはかなり面倒になっている。ただし、前述の優先順位を理解すれば、レジストリのどのキーが有効なのかは判断が可能になる。
それがわかれば、既定のプログラムになっているアプリのProgIDを編集することで、たとえばデータファイルのアイコンなどを変更することが可能だ。
この連載の記事
-
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 -
第433回
PC
Windows 11の2つのウィジェットを調べる -
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 -
第430回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した - この連載の一覧へ