しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

WinQuickLook v1.0 を公開しました

Twitter では密かにバージョンアップを続けていましたが、個人的に満足できるレベルまで機能を追加できたので、一旦 v1.0 として公開してみることにしました。

ダウンロードは以下のリンクからどうぞ。

https://github.com/shibayan/WinQuickLook/releases/latest

Windows 10 専用の API を使っているので、それ以外のバージョンでは動きません。

ウィンドウの半透明化

WPF Window 周りの処理をガラッと変更したので、ついでに Windows 10 で追加された隠し API を使ってウィンドウ自体を半透明化しました。画像を表示する時、透過部分が分かりやすくなりました。

透明度やベースカラーは選べるようにした方が幸せかもしれませんね。将来的に考えます。

動画プレビュー時にコントロールを追加

動画プレビューをブログ公開バージョンに入れていたか覚えてないですが、これまでは途中で一時停止やシークといった基本操作が行えなかったので、簡単にコントロールを追加しました。

全体の再生時間の表示も付けています。再生時間もどこかに付けたいですね。

音楽ファイルのプレビューに対応

殆ど処理的には動画プレビューから持ってきただけですが、音楽ファイルの再生も行えるようになりました。

最近の Windows ではファイルに埋め込まれたアートワークをサムネイルにしてくれるので、個別に対応することなくアートワークを表示することが出来ます。

未対応ファイル、ディレクトリの表示改善

対応していないファイルやディレクトリはサムネイルを表示するだけだったのですが、Quick Look っぽくファイルの詳細な情報を表示するようにしました。

ディレクトリの場合は項目数が出ますが、これは第一階層にある項目数になります。

HTML プレビューのドキュメントモードを IE11 相当に

WebBrowser コントロールを使うと、デフォルトでドキュメントモードが Quirks になるみたいなので、レジストリの項目を使って IE11 相当のドキュメントモードになるようにしました。

Internet Feature Controls (B..C) (Internet Explorer) | Microsoft Learn

これで HTML5 や CSS3 を使ったページでも正しく表示されるようになります。

スタートアップへの自動登録

基本的に常駐するタイプのアプリケーションなので、スタートアップに追加するコマンドを付けました。

スタートメニューの Startup フォルダにリンクを作成するだけの簡単な方法です。

通知領域アイコンのクリックでアクティブ化

プレビューウィンドウがフォーカスを失っても表示されたままになるように変更したので、通知領域アイコンをクリックすることで一時的に最前面へ持ってくるようにしました。

複数起動ブロック

キーボードフックを使っているので Mutex を使って、複数起動させない処理を追加しました。

今後の予定など

  • マルチモニターへのちゃんとした対応
  • プレビューサイズの最適化
    • 動画の場合はサイズ計算が割と適当な感じ
    • IPreviewHandler はサイズ決め打ちなので何とかしたい
  • ちゃんとしたアイコンを付ける
  • 対応ファイル形式の拡充
    • C# などソースコードは色を付けて表示したい

GitHub にソースコードを置いて開発しているので、どっかのタイミングで公開したいです。

追記

準備が整った気がしたので、GitHub でソースの公開を始めました。AppVeyor を試しに使っています。

少しだけメモリ効率を改善したので v1.1.0 を出しました。Release からダウンロード出来ます。