今さらタブマンコ更新
・とりあえずメニューだけ日本語と英語の切り替え
・複数起動しようとするとエクスプローラを起動する→捕まえてタブ化
・エクスプローラを捕まえるたびにタスクトレイのアイコンを再登録
・タブ化をストップできるようにした
http://wantech.ikuto.com/software/hookdnet.zip
Visual Studioは2010と.NET 4.0が出たようだが、いけるところまで2008のまま粘るつもりなので、
対応ランタイムをバージョンアップする気はない。
今回の更新は、せっかくSSDを注文したのでWin7を入れようと思っていて、
SSDはまだ発送もされてないけど、到着する前にHDDでWin7の予習をしていたところ、
Win7のタスクバーはキャプションがなくてクイックランチと切り替えが一体化していたため、
これだったらタブ化しない方が使いやすいと感じた。
しかし惜しむらくは、タブマンコのもう一つの機能であるマウスホイールリダイレクトだ。
64bitで起動しても32bitにもわざわざフックをかけているのは、どんなアプリにも有効なようにだ。
旧来の32bitコンパイルされたリダイレクトソフトでは64bitアプリにフックがかからないんだよね。
それで、せめて自分で使うようにタブ化機能を殺しただけのものを作ろうと思ったが、
まぁせっかく更新するなら、以前からリクエストがあったマルチリンガル対応もしておこうかと。
そしてもう一つ、たまに起動しててもタスクトレイにアイコンが出てないことがあり、
こうなるとタスクマネージャーで終了させてもう一度起動しないと回復しないってのが困る。
.NETのタスクトレイアイコンコンポーネントには、そういうのを自動で回復する機能はなく、
Win32APIを使ってタスクバーの挙動を監視するのが王道だけど、実に面倒くさい。
Daemon Liteですらたまタスクトレイに出てないときがあるんだが、
そういうときはDaemonを複数起動しようとすると回復してくれるんだよね。
だから、タブマンコも複数起動しようとするとアイコンを回復させる仕様でいこうと思った。
やり方を考えている内に、タブ系のソフトは複数起動しようとするとタブの新規作成ってのが多いので、
とりあえずそれを実装し、その新規タブを作る時点で、必ずアイコンを再登録する仕様にした。
開発は32bitのXPと64bitのWin7でやったが、Vistaはもう仮想マシンに入れることもないかもね。