エクスプローラーのプレビューウィンドウについて解説する
ASCII.jp / 2023年4月16日 10時0分
エクスプローラーで、「表示」→「表示」→「プレビューウィンドウ」を選択するか、「Alt+P」を押すと、ウィンドウ右側にプレビューウィンドウが表示される。この部分は、ファイルに対して定義された「プレビューハンドラ(Preview Handler)」が表示をする。今回は、このプレビューウィンドウとプレビューハンドラについて解説する。
なお、詳細は後述するが、PowerToysをインストールしている場合、プレビューハンドラが追加で登録され標準とは異なる状態になる。原稿執筆時点の最新版である「v0.69.0」では、不具合があってテキスト型式のプレビューが表示されないことがある。以下の内容を試すときには、PowerToysの「File Explorer add-ons」にある「ソースコードファイル(モナコ)」をオフにしておいてほしい。
プレビューハンドラとは?
プレビューハンドラは、ファイルの拡張子に対して定義される。テキストや画像など、Windows標準のものがあるが、サードパーティアプリケーションのファイル形式に関しては、アプリケーション側で用意する必要がある。プレビューハンドラは、エクスプローラーが呼び出すモジュールになっていて、一定の仕様で作ることでサードパーティでも開発が可能だ。詳細は以下で説明されている。
●プレビュー ハンドラーとシェル プレビュー ホスト https://learn.microsoft.com/ja-jp/windows/win32/shell/preview-handlers
プレビューハンドラは、レジストリの以下のキーに登録されている。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PreviewHandlers HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandlers
HKEY_LOCAL_MACHINE(以下、HKLM)に登録されているのは、システム標準のプレビューハンドラで、HKEY_CURRENT_USER(以下、HKCU)に登録されているのはユーザーごとに登録されたプレビューハンドラで、こちらはHKLMとの差分になっている。
ここに登録されているプレビューハンドラに対応するGUIDを、HKEY_CLASSES_ROOT(以下、HKCR)にあるファイル拡張子に登録することで、ファイル形式に対して、プレビューハンドラが対応する。具体的には、拡張子のキーの下にある「HKCR\<拡張子>\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}」が、プレビューハンドラの指定となり、このキーの既定値にプレビューハンドラのGUIDが登録されている。
具体的に見てみよう、Excelのブックファイルの拡張子「.xlsx」のレジストリ登録は、「HKCR/.xlsx」にある。レジストリエディタで「HKEY_CLASSES_ROOT\.xlsx」を開くか、PowerShellのコマンドで、
Get-ChildItem -Path "Registry::HKEY_CLASSES_ROOT\.xlsx\ShellEx\"
とすると、ShellExサブキーの下を見ることができる。
「{8895b1c6-b41f-4c1c-a562-0d564250836f}」サブキーの既定値は、「{00020827-0000-0000-C000-000000000046}」となっており、HKCR\CLSIDの下を探せば、
Get-Item -Path "Registry::HKEY_CLASSES_ROOT\CLSID\{00020827-0000-0000-C000-000000000046}"
これが“Microsoft Excel previewer”であるとわかる。
テキストファイル形式の簡易なプレビューハンドラ指定
もう1つ、中身がテキストファイルになっているファイル形式の場合、簡易な方法で、Windowsに組み込まれたテキスト・プレビューハンドラを指定できる。それは、前述の「HKCR\<拡張子>」のキーに文字列値として「PerceivedType」を定義し、データとして「text」を指定する。これで、どんな拡張子でもプレビューウィンドウにテキスト型式で表示できるようになる。XMLなど、中身がテキスト型式になっているファイルは結構ある。この方法を使うと、簡単な方法で、ファイルのプレビューが可能になる。
ただし、前述の「ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}」に、プレビューハンドラが登録されていると、そちらが優先される。
実際にテストしてみることにしよう。拡張子「.ps1」は、PowerShellのスクリプトファイルの拡張子だ。標準では、このファイルは、プレビューが表示されない(PowerToysでプレビューハンドラを使っていないとき)。
キー:HKEY_CLASSES_ROOT\.ps1 名前:PerceivedType 種類:REG_SZ データ:text
というレジストリエントリを、レジストリエディタまたは、PowerShellで以下のコマンドを実行して書き込む。
Set-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\.ps1" -Name "PerceivedType" -Value "text"
確認は、以下のコマンドでできる。
Get-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\.ps1"
これで、「.ps1」ファイルのプレビューが表示されるようになる。なお、設定を削除するには、
remove-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\.ps1" -Name "PerceivedType"
とする。
PowerToysのFile Explorer add-ons
PowerToysをインストールすると、SVGやマークダウンなどのプレビューハンドラが登録される。「設定」→「File Explorer add-ons」にある「ソースコードファイル(モナコ)」は、プログラムのソースコードに対応した複数の拡張子に対して、専用のプレビューハンドラを割り当てる。
このPowerToys「ソースコードファイル(モナコ)」のプレビューハンドラは、「.xml」や「.c」といったソースコードのほか、「.txt」や「.log」といった拡張子にもプレビューハンドラとして登録される。このとき、プレビューウィンドウに表示されるテキストには行番号がつく。Windowsの標準のテキスト・プレビューハンドラではつかない。
筆者の環境では、原稿執筆時点の最新版であるPowerToys v0.69.0では、「ソースコードファイル(モナコ)」を有効にしていると、テキストファイルのプレビューができなかった。1つ前のv0.68.0ではできる。もし、テキストファイルのプレビューが表示されないようなら、PowerToysで「設定」→「File Explorer add-ons」→「ソースコードファイル(モナコ)」をオフにする。
この「ソースコードファイル(モナコ)」では、対象となる拡張子のレジストリキー下に「ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}」を付ける方法でプレビューハンドラを指定している。PowerShellの設定で「ソースコードファイル(モナコ)」をオンにすると、複数の拡張子に「ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}」が追加され、プレビューハンドラとして「{D8034CFA-F34B-41FE-AD45-62FCBB52A6DA}」が指定される。
PowerToysは、いまだにプレビュー版であり、不具合が生じることもある。このため、今回のような問題にはユーザーが対処する必要がある。心配ならば、不要な機能はすべてオフにしておいて、使いたい機能だけを有効にすればいいだろう。また、何か不具合を感じたとき、とりあえずPowerToysを終了させてみるというのも1つの方法だろう。
この記事に関連するニュース
-
MicrosoftがPowerToys向け新しい「新規作成」モジュール開発中
マイナビニュース / 2024年6月26日 10時46分
-
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる?
ASCII.jp / 2024年6月23日 10時0分
-
WindowsでChatGPTを使うならPowerToysの新機能「Advanced Paste」で効率UP!
ASCII.jp / 2024年6月18日 9時0分
-
Windowsの検索プロトコルを悪用してマルウェア配布するサイバー攻撃に注意
マイナビニュース / 2024年6月17日 9時16分
-
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように
ASCII.jp / 2024年6月9日 10時0分
ランキング
-
1「鳥肌たった」「これこそアート」 SNSで約13万いいねを集めた1枚のイラスト、衝撃の種明かしに反響 作者に制作経緯を聞いた
ねとらぼ / 2024年7月6日 12時30分
-
2「これはやばいw」 モスバーガーの“狂気のLINEスタンプ”が話題 公式も認める異様な絵面に「夢に出てきそう」
ねとらぼ / 2024年7月6日 17時0分
-
33月末にコンビ解散したお笑い芸人、「また美人になった?」「見るたびにキレイになってく」と反響
ねとらぼ / 2024年7月5日 18時37分
-
4「Pixel 6」シリーズに不具合、最新アプデ→初期化でトラブル発生 Googleが回避策を案内
ITmedia NEWS / 2024年7月5日 8時20分
-
5モトローラが日本市場で急成長している理由 1年で出荷台数2倍以上、「edge」「razr」の販路拡大がカギに
ITmedia Mobile / 2024年7月6日 11時45分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください