「SuperTopMost - Download」の編集履歴(バックアップ)一覧はこちら
SuperTopMost - Download - (2010/12/29 (水) 06:12:22) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
#html2(){
<table width=100% class=simple><tr>
<td align="center"valign="middle">Top</td>
<td align="center"valign="middle">Download</td>
<td align="center"valign="middle">使い方</td>
</tr></table>}
&html(<img src="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=15&file=ico_file.gif" style="vertical-align:middle;"> ダウンロード >>)
#divclass(marginleft16){
-[[ver041b.zip 96KB ( スタンドアロン版 174KB )>http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=SuperTopMost_v041b.zip]]
-[[ver040b.zip 18KB ( VCランタイム MSVCR9x.dll 依存版 32KB )>http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=SuperTopMost_v040b.zip]]
#openclose(show=▼ ランタイムについて[表示],border:0;){
まずシステムとしての Windows 系フォルダに MSVCR9x.dll(MSVCR90.dll等)が入っているか確認してみてください。最近は、MSN Live メッセなどでも気づかぬ間にランタイムをインストールしている事があるようです。もしランタイムがインストールされていない時は、わざわざインストールするのも馬鹿らしいかもしれません。その時はお好みでスタンドアロン版を使ってみてください。
}
}
----
常駐型の最前面表示支援ツール。
-任意の最前面属性ウィンドウを、他の最前面属性ウィンドウよりも手前に固定表示できます。
→ タスクバーよりも手前に表示できます!
-前面化するウィンドウの選出条件は、ショートカットなどの起動オプションで設定&実行開始。
-タスクトレーを使わないどころかダイアログもほとんど出さない軽量ストイック仕様。
<Yahoo!ウィジェットをスタートボタン下に表示してみた!>
#divclass(tbl_layout){|&image(supertopmost.png)|BOTTOM:通常では、たとえ最前面属性のウィンドウでも、他の最前面属性ウィンドウやタスクバーが有効になると、その後ろに隠されてしまいます。このツールは、そういう場合に前面表示できます。|}
この手のツールは出尽くした感がありましたが、「タスクバーより手前」に挑戦するのは意外と見当たらないので作ってみました。ニッチ万歳!!
ノートPCの貴重な表示領域を節約できます。ちなみに DLL・グローバルフック・プロセス間通信・STLの習作。
----
***&link_anchor(anchor_howto){使い方 ▼}
-起動
-終了
-設定変更
***&link_anchor(anchor_optionformat){起動オプションの詳しい書式 ▼}
-ウィンドウタイトルの全文一致検索
-ウィンドウタイトルの部分一致検索&呼び出しプロセスで絞り込み
-起動後、作動開始まで待機時間を入れる
***&link_anchor(anchor_mechanism){動作原理&時々表示に失敗する件について ▼}
***&link_anchor(anchor_plan){現在の改良検討案 ▼}
***&link_anchor(anchor_source){ソースコード ▼}
----
**&anchor(anchor_howto,option=nolink){使い方}
#divclass(marginleft16){
#html2(){
<table width=100% class=simple><tr><td class=simple style="padding-right:8px;"><h4>動作設定&起動</h4>ショートカットなどで必ず起動オプションを与えて実行してください。<br>最もシンプルな書き方は、次の通りです。<br><br>"SuperTopMost.exeのパス" "ウィンドウのタイトル"<br><br>ウィンドウのタイトルが、"ウィンドウのタイトル" に全文一致する、全てのウィンドウに対して前面化処理を行います。
</td><td align=right class=simple><a href="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg00option.png" target=new><img src="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg00option.png" width=212px height=233px></a></td></tr></table>
}
#html2(){
<table width=100% class=simple><tr><td class=simple style="padding-right:8px;"><h4>終了</h4>もう一度SuperTopMost.exeを起動してください。<br>多重起動しない代わりに、既出のSuperTopMostプロセスへ終了指示を送ることができます。</td><td align=right class=simple><a href=="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg02endcancel.png" target=new><img src="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg02endcancel.png" width=189px height=63px></a></td></tr></table>
}
#html2(){
<table width=100% class=simple><tr><td class=simple style="padding-right:8px;"><h4>設定変更</h4>もう一度ショートカットなどで起動オプションを与えて<br>SuperTopMost.exeを起動してください。<br>多重起動しない代わりに、既出のSuperTopMostプロセスへ新しい設定を送ることができます。</td><td align=right class=simple><a href="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg03change.png" target=new><img src="http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=stmdlg03change.png" width=215px height=111px></a></td></tr></table>
}
}
**&anchor(anchor_optionformat,option=nolink){起動オプションの詳しい書式}
#divclass(marginleft16){
***ウィンドウタイトルの全文一致検索
#divclass(marginleft16){
【書式】
-基本
"SuperTopMost.exeのパス" "任意のウィンドウタイトル"
#divclass(marginleft16){
「任意のウィンドウタイトルに全文一致するウィンドウ」を前面化します。
}
-複数指定
"SuperTopMost.exeのパス" "任意のウィンドウタイトル1" "任意のウィンドウタイトル2"
#divclass(marginleft16){
「任意のウィンドウタイトル1と任意のウィンドウタイトル2のどちらかにタイトルが全文一致するウィンドウ」を前面化します。
}
}
&br()
***ウィンドウタイトルの部分一致検索&呼び出しプロセスで絞り込み
#divclass(marginleft16){
ウィンドウタイトルが不定で、全文一致で検索できない場合この方法を使います。
任意のキーワードをタイトルの一部に含むウィンドウの中で、任意の実行ファイルから起動しているものだけを前面化します。
【書式】
-基本
"SuperTopMost.exeのパス" "/mod>>実行ファイル1" "任意のキーワード1" "任意のキーワード2"
#divclass(marginleft16){
&br()「タイトルに 任意のキーワード1/2 いずれかを含み、実行ファイル1 から起動しているウィンドウ」を前面化します。
/mod>> オプションは前置修飾であり、以降に続く任意のワード全てに影響します。
}
-複数指定
"SuperTopMost.exeのパス" "/mod>>実行ファイル1" "キーワード1" "/mod>>実行ファイル名2" "キーワード2"
#divclass(marginleft16){
&br()「タイトルに キーワード1 を含み、実行ファイル1 から起動したウィンドウと、キーワード2 を含み、実行ファイル2 から起動したウィンドウ」を前面化します。/mod>> オプションを再設定すれば、それ以降のワードへ新しい実行ファイル等モジュール名を指定できます。
なお、部分一致&モジュール絞込みを解除するには以下のように、実行ファイル名に "all" を指定します。
"SuperTopMost.exeのパス" "/mod>>実行ファイル1" "キーワード1" "/mod>>all" "キーワード2"
こうすることで、「タイトルに キーワード1 を含み、実行ファイル1 から起動したウィンドウと、キーワード2 に全文一致するウィンドウ」が前面化されるようになります。全文一致書式についても補足すると、次の書き方は同じ意味になります。
"SuperTopMost.exeのパス" "任意のウィンドウタイトル"
"SuperTopMost.exeのパス" "/mod>>all" "任意のウィンドウタイトル"
}
}
&br()
***起動後、作動開始まで待機時間を入れる
#divclass(marginleft16){
ミリ秒単位で、フック作動開始を遅らせることができます。
スタートアップに登録した時、起動時の処理負荷を集中させたくない時などに指定します。
【書式】
"/wait>>2500"
#divclass(marginleft16){
&br()起動後、2500ミリ秒の待ち時間を入れてから前面化処理を有効にします。
}
}
}
**&anchor(anchor_mechanism,option=nolink){動作原理&時々表示に失敗する件について}
#divclass(marginleft16){
アプリケーション間あるいはタスクバーへのフォーカス移動など、ウィンドウの前後関係が変わりそうなメッセージをグローバルフックで見張っています。そこで任意の条件に合致するウィンドウを再表示(非フォーカス・表示のみ)する仕組みになっています。
とは言え状況次第ではうまく動かず、前面化に失敗するタイミングもあります。あんまり執拗に前面化するのも怖いので、緩めに作っています。その場合も、引き続きフォーカス移動をともなう操作をするだけで前面復帰できます。
タイミングの問題は、実のところあんまりクリティカルにはチェックしいません(何らかの操作により遠からずすぐ復帰しますし…申し訳ありますん)。一応、こちらから発行する再表示処理は結構な頻度(シェルフックイベント全て&HCBT_ACTIVATE・MINMAX・MOVESIZE)で送っています。しかし各プロセスがメッセージを受信してから処理終了するまで当ツールが見張っているわけではありません。原因はそのへんにあるような気がしています。
もし、通常ウィンドウと最前面ウィンドウのそれぞれのZオーダーについて、手前固定層・通常浮動層・奥固定層のような設定可能なシステムなら、こんな無理やりなツール必要ないんですけどネェ。
}
**&anchor(anchor_plan,option=nolink){現在の改良検討案}
#divclass(marginleft16){
-設定方法が起動オプションのみってのはスパルタンすぎ?
→ キー入力によるワンタッチの最前面化設定・解除ができれば便利な気がして仕様を模索中です。
-さすがに非最前面ウィンドウの属性書き換えくらいは出来た方が便利な気がする
…仕様のイメージがまとまらなくて悩んでます。うーん。^^;
}
**&anchor(anchor_source,option=nolink){ソースコード}
#divclass(marginleft16){
-[[プロジェクト&ソースコードファイル 339KB ( Visual C++ 2008 Express Edition )>http://www31.atwiki.jp/kouraku_tiritomado?cmd=upload&act=open&pageid=26&file=SuperTopMost_v04Release.zip]]
}
----
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: