TClock でスタートボタンを消したりとか
メインの開発機ではタスクバーをデフォルトの二倍の高さで使ってるんですが、こうしてるとスタートボタンの領域が結構無駄になるんですよね。常駐アイコン 20 個ぶんくらいのスペースをとっている感じ。
「下半分のスペース無駄だよ!」とは思ってたんですが、よく考えたらスタートメニュー開くときは Windows キーで開くので、これは完全に無駄なスペースということに。
で、たまたま TClock というソフトで消せると教えてもらって・・・最近ようやく試せたので、そのお話。
AHK で WM_CLOSE を送ってみる
ちょっと引っかかるのは TClock が常駐ソフトだということ。x64 環境では、常駐ソフトが多い状態で Eclipse 使うと、描画がうまく行われなかったりするんですよね。
常駐させずにスタートボタンを消す方法を調べてみると・・・
それよりはいっそスタートボタンウィンドウを永久に消してしまおう。スタートボタンウィンドウに WM_CLOSE を送りつけるとスタートボタンは完全に消え去った。復活の呪文は存在しない。
とのことなので、試しに AutoHotKey のスクリプトを書いてみました。
^#k:: ;Ctrl+Windows+K: スタートボタンを消す IfWinExist, ahk_class Shell_TrayWnd { SendMessage, 0x10, 0, 0, Button1 ; 0x10: WM_CLOSE }
確かにスタートメニューは消えたんですが、「ファイル名を指定して実行」(Win+R)ウィンドウの出現位置が毎回変わって鬱陶しい・・・。
あと、Windows キーを押したときの動作は、厳密には「タスクバーにフォーカスする」ということのようで。スタートボタンがない状態だと、その右側のコントロール(Quick Launch がないのであればウィンドウ一覧)にフォーカスすることになるっぽいです。へー。
AHK でサイズを変えてみる
さきほどのページに書いていた元々の方法
後は、非表示にする、位置、サイズを変えるなど自由に変えられるようだ。
こちらも試してみます。
^#k:: ;Ctrl+Windows+K: スタートボタンの幅、高さを 0 にする IfWinExist, ahk_class Shell_TrayWnd { ControlMove, Button1, , , 0, 0, ahk_class Shell_TrayWnd ControlMove, ReBarWindow321, 0, , , , ahk_class Shell_TrayWnd }
ReBarWindow32 というのはスタートボタンの右側の領域で、これもずらしてやらないとスペースが有効活用されません。この辺の厚生は上記のページ&TClock の解説ページが詳しいです。
で、この方法も
ただし、位置、サイズについては、タスクトレイの「アクティブでないインジケータを隠す」ボタンを押したり、タスクバー全体のサイズを変更したりすると、再調整されてしまうため元に戻ってしまう。
という欠点があり・・・インジケータは常に全表示しているので問題ないかと思いきや、常駐アイコンが増減するタイミングでもサイズが元に戻ってしまうので、あまり有効ではありませんでした。