syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

Windows 10の画像ファイル右クリックメニューに「プレビュー」を追加

無償アップグレードの期限ギリギリになりましたが、ついにWindows 8.1からWindows 10にアップグレードしました。Windows 10は昨年のプレビュー版のときにDirectX 12 APIを少しテストした際に、全体的な完成度の低さが目についたため、それ以来一切触っていませんでしたが、2015年7月のリリースから1年を経てそれなりにこなれてきたようなので、まず念のためWindows 8.1のイメージバックアップを取ってからWindows 10に移行しました。しばらく使い込んでみて、ダメだったら8.1に戻す予定です。Windowsを使い続けるかぎり、いずれはWindows 10に誰しも移行せざるを得ませんが、自分の場合現時点でよく使うクリエイティブ系ツールやゲームが正常に動かなければ意味がありません。

Windowsフォトビューアー

本題に入りますが、Windows 7/8.1では、エクスプローラーで画像ファイルを右クリックした際に表示されるコンテキストメニューに、「プレビュー」という項目が含まれていました。このコマンドは、画像を「Windowsフォトビューアー」というデスクトップアプリケーションで開くことができるもので、拡張子すなわち既定の「開く」コマンドに関連付けたアプリケーションとは別に独立して使用できるコマンドです。「Windowsフォトビューアー」は、IrfanViewなどとは違ってフォルダー内の複数ショートカットファイル群を連続プレビューしたり、エクスプローラー上の並び順でファイルを閲覧することができたりといったメリットがありました。全体的な操作性や対応画像の種類などはIrfanViewに若干劣る面がありますが、カラープロファイル対応というのも何気にポイントが高いです。残念ながらWindows 10ではこのコマンドがなくなっているだけでなく、クリーンインストールした際には「Windowsフォトビューアー」自体が無効化されています。今回は幸いWin8.1からのアップグレードインストールだったので、コマンドを復帰するだけで済みました。復帰の手順は下記のようなサイトで紹介されています。

ascii.jp
knowledge.moshimore.jp
http://ryus.co.jp/blog/windows10-rightclick-preview/ryus.co.jp

毎回手作業で実行するのは面倒ですので、今回は「プレビュー」コマンド復帰の手順を一発で実行するためのレジストリファイルの内容を記載しておきます。UTF-16LE形式のテキストファイルで.reg拡張子を付けて保存してください。ただしご利用は自己責任でどうぞ。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\openwpv]
@="プレビュー"

[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\openwpv\command]
@="%SystemRoot%\\System32\\rundll32.exe \"%ProgramFiles%\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen %1"

[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\openwpv\DropTarget]
"CLSID"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

Windows 10とSAI

今のところ、Win10でSAI v1.2.xの挙動が若干おかしいのが気になります。SAIはファイルI/Oなどの時間がかかる処理をサブスレッドではなくメインスレッド(UIスレッド)で実行しているレガシーアプリケーションなのですが、多数のレイヤーの回転・拡大縮小中とか、ファイルオープンダイアログでのサムネイル自動生成中とか、巨大な画像ファイルの読み書き中とか、UIスレッドが固まる状況でタスクバー部分が一定時間まったく見えなくなる現象が出ます。処理が完了すればタスクバーは復帰しますが、それまでは操作ができなくなります。v1.2.0/v1.2.5で確認しました。Win8.1だと同様にUIスレッドがビジー状態になったときにSAIのウィンドウがボケる(バイリニアフィルターがかかったようになる)現象が出ていましたが、タスクバーが見えなくなるというレベルのひどさではありませんでした。一方、Visual Studio 2012/2013/2015の場合、起動時など「応答なし」状態に陥ることがあるときでもタスクバーまで巻き込むようなことは一切ないので、おそらくSAI自身の設計に起因する固有問題なのだと思いますが、後継となるv2.0もいまだにプレビュー版のままなので、SAIを仕事で使っている人はWindows 10に移行するのは待ったほうがよいかもしれません。画像編集アプリなのに64bit対応が遅れているというネックもあるものの、クリスタでは使い勝手や書き味が違うため、泣く泣く32bit版のSAIを使い続けているという状況なのですが、早いところなんとかして欲しいです。
ちなみに、ちまたで噂されているペンタブレットの遅延ですが、今のところ特に書き味が悪くなったという感じはありません。検証したのはIntuos Pro M (PTH-651) + 6.3.16-2ドライバー環境ですが、それなりに高速なCPUを積んでいるので気にならないだけかも。
※2017-02-05追記:
Windows 10 Anniversary Update (version 1607, build 14393) をインストールして、グラフィックスドライバーをGeForce 378.49 for Win10 x64に更新したらSAIフリーズ時タスクバー問題が解消されたようです。もしかするとWindows 10 November 2015 Update (version 1511, build 10586) もしくは358.91ドライバーのどちらかに問題があったのかもしれません。ちなみにUpdate 1607を適用すると、コンテキストメニューからプレビューコマンドが再び削除されますので、再度登録作業が必要になります。
※2017-07-29追記:
Windows 10 Creators Update (version 1703, build 15063) をインストールすると、SAIフリーズ時にウィンドウがデスクトップ全体に引き延ばされる(タスクバー部分まで伸びる)現象が出るようになりました。グラフィックスドライバーはGeForce 378.49でも384.94でも発生します。ただ、タスクバーよりもZオーダーが下なので、タスクバーがまったく見えなくなったり、操作できなくなったりという実害はありません(単純に動きが気持ち悪いだけ)。

その他の落穂拾い

Windows 10では「Windowsフォトビューアー」の代わりにUWPの「フォト」アプリが搭載されていますが、前述のようなエクスプローラーとの統合はなく使いづらいです。「Windowsフォトビューアー」のサブセットでしかなく、IrfanViewと比較するとカラープロファイルに対応していることだけしかメリットがありません。また、Windows 10の電卓は相変わらず使いづらいストアアプリ(UWPアプリ)版のみしか搭載されていません。Windows 10 EnterpriseのLTSB版には従来のデスクトップアプリ版の電卓が「win32calc.exe」という名称で提供されているらしいのですが、Win10 Home/Proにもデスクトップアプリ版をぜひ搭載して欲しいです*1

*1:UWP版の電卓アプリがあまりに使いづらいので、最近はちょっとした計算にはPowerShellを使うようになりました。