HOMING★WONDER
SuperTopMost - その他
最終更新:
kouraku_tiritomado
-
view
動作原理&時々表示に失敗する件について
アプリケーション間あるいはタスクバーへのフォーカス移動など、ウィンドウの前後関係が変わりそうなメッセージをグローバルフックで見張っています。そこで任意の条件に合致するウィンドウを再表示(非フォーカス・表示のみ)する仕組みになっています。
とは言え状況次第ではうまく動かず、前面化に失敗するタイミングもあります。あんまり執拗に前面化するのも怖いので、緩めに作っています。その場合も、引き続きフォーカス移動をともなう操作をするだけで前面復帰できます。
タイミングの問題は、実のところあんまりクリティカルにはチェックしいません(何らかの操作により遠からずすぐ復帰しますし…申し訳ありますん)。一応、こちらから発行する再表示処理は結構な頻度(シェルフックイベント全て&HCBT_ACTIVATE・MINMAX・MOVESIZE)で送っています。しかし各プロセスがメッセージを受信してから処理終了するまで当ツールが見張っているわけではありません。原因はそのへんにあるような気がしています。
もし、通常ウィンドウと最前面ウィンドウのそれぞれのZオーダーについて、手前固定層・通常浮動層・奥固定層のような設定可能なシステムなら、こんな無理やりなツール必要ないんですけどネェ。
現在の改良検討案
- 設定方法が起動オプションのみってのはスパルタンすぎ?
→ キー入力によるワンタッチの最前面化設定・解除ができれば便利な気がして仕様を模索中です。
- さすがに非最前面ウィンドウの属性書き換えくらいは出来た方が便利な気がする
…仕様のイメージがまとまらなくて悩んでます。うーん。^^;