板 1- 前 次 新 レス
旧雑記サルベージ
[95]管理人 ★:06/09/06 17:41 ID:???
2006年01月27日
■タスク切り替えの奴の改良
038.zip(lukewarm.s101.xrea
色々と改良した。
ウィンドウが非アクティブになったら終了するようにした。
WM_ACTIVATEをOnMessageで捕らえて、非アクティブ化だったら終了する。
ウィンドウのスタイルなどを色々と変更。
タイトルバーを無くして、タスクバーに表示されなくし、常に最前面に表示するように。
リストでは、一旦タイトルでソートしてからプロセス名でソートし、Z順位にかかわらず同じ並びになるようにした。
リストビューをポイントして選択しクリックで決定する奴にした。
なぜか、決定時にAutoHotkeyのイベントが発生するのが遅いので、自前でリストビューの決定通知を受け取るようにした。
リストビューの項目が決定された場合、WM_NOTIFYで情報が送られてくる。
詳細は構造体に格納されているので、RtlMoveMemoryで取り出して判定することに。
イメージリストは、アイコンのサイズがシステムに依存しているようなので、自前でImageList_Createを行ってフォントサイズに合わせたアイコンサイズにするようにした。
ついでに、大きいアイコンとフォントのバージョンを作成した。
大きい方がマウスで選択しやすくて良いが、表示速度や画面の専有面積などが気になる。
更に、常駐版を作成した。
常駐版では、2回目以降の表示の際、ウィンドウのZ順位が他のウィンドウの下になっていて、一旦可視状態になってから最前面に移動するのが鬱陶しいので、SetForegroundWindowでZ順位を一番上にしてから表示させるようにした。
リストビューの項目の幅などはすべて固定にして、ウィンドウ表示時の処理をできるだけ削減したら、かなり一瞬で表示されるようになった。
割り当てるホットキーは、せっかく5ボタンマウスを買ったのに未だ使い道の定まっていないXButton1に割り当ててみた。
ついでに、XButton1を放したときにリスト上なら決定、リスト外ならキャンセルを行うようにした。
更に、MButtonで選択ウィンドウを閉じるという機能も付けた。
かなり便利な感じになった。
前 次