BwFwButn

最新版 06/25 2017
【概要】
新しく 出てくるマウスを見ていると マイクロソフトがマウスを激しく出していた頃にしていた様に サイドに 2 ボタンを加えて 此に ブラウザの 戻る 進む の機能を標準で 振り分けている物が他のメーカーでも増えてきて います。
ブラウザ 操作をする時には此は此で便利なのですが ブラウザ が無くなったとたんに無用の長物になって しまいます。それを避ける為に メーカーによって独自のマウスドライバーと言うかユーティリティーを提供して いる所も有ったりするのですが 此の ユーティリティーの中でアサイン出来る機能が Ms の インテリポイントの 様に 他のプログラムをユーザーが自由に指定して立ち上げられる物が少ない ( お仕着せの Notepad とか Mspaint とか OutLook とか の指定ではなく ユーザーがプログラムを直にファイル名で指定出来る事を言っています。) と言う事で BwFwHook を作成しましたが ( いきさつ ) マウスの戻る進むボタンの取得がメッセージの下流の方でしていたので此を 上流の方でする事にして 制限を少なくした BwFwButn を新たに作成しました。
Ver 2.000 から タスクトレイアイコンでのランチャー機能も強力にし ミドルボタンでの操作も付加したので 戻る 進む ボタンが無くても十分使用出来るのではないかと思います。

【特徴】
戻る 進む ボタンに コマンドで割り付けた 指定のプログラムを起動する事が出来ます。
メーカーのマウスドライバーやユーティリティーと違って マウスの種類 メーカー 等には全く影響を受けま せん。動作中に違うマウスに変えてもそのまま動作を同じ様に続けられます。
メーカーのマウスドライバーとかユーティリティーは有っても無くてもかまいません。戻る 進む ボタンが有る 事だけです。もちろん 戻る 進む 1つだけのボタンのマウスでもかまいません。
36個までの複数セットのコマンドを与える事が出来るので切り替えて使用する事も出来ますし 直に指定した セットの メニューを表示して選択する事も出来るので 戻る 進む にランチャー機能を持たす事も出来ます。
Ver 1.100 から 同じ取得メッセージで動かせるので インアクティブウィンドウでもマウスカーソルをその上に 置く事で マウスホイールでのスクロールもサポートしました。

【動作環境】
Win XP / Vista / 7 / 8 / 10 です。特別なランタイムはいりません。( Win 98 ME 2000 は 不可です。 )

【インストール/アンインストール方法】
適当な所に BwFwButn.exe を置いて下さい。そこから ショートカット を作って 立ち上げて下さい。 同じフォルダーにコマンド指定用のコマンドセットを書いた BwFwButn.bwf ファイルを用意して下さい。 サンプルは同梱していますが BwFwButn.bwf 又は コマンドセットテキストが無いと何の意味もありません。
アンインストールは単に BwFwButn.exe 作成したショートカットと BwFwButn.bwf を削除して下さい。 他には何も残しません。
メーカーのマウスドライバーとかユーティリティーは入っていても無くてかまいません。これらのサポートする 横スクロール機能等が必要な時は入れておいても良いかと思います。又 戻る 進む ボタンに 機能を振り付けて いても それと同時に作動します。

【使用方法】
通常は スタートアップに登録して動作させっぱなしと言う事になるかと思います。
立ち上げ時に コマンドセットファイル指定が出来ます。無ければ同じフォルダーに置いたファイル BwFwButn.bwf を 参照します。書式は 同梱している BwFwButn.bwf BwFwButn.rxr の コマンドセット の所を参照して下さい。
最初のコマンドセットが始めに選択されて 戻る 進む ボタンに割り付けられて 戻る 進む ボタン を押す事で 指定されたコマンドが実行される様になります。
戻る 進む ボタンを押す時に Control キーを押していると マウスカーソルが ディスクトップ上では メニューの 立ち上げ 有効のを反転 させた動作を 他のウィンドウ上では フィルターの反転動作をします。
( コマンドが実行される状態の時は実行されずに 逆にコマンドが実行されない状態の時は実行します。)
フィルター のブラウザ等を指定しているしていない時の反転の為などにに利用して下さい。
通常はタスクトレイにアイコンが出ます 此を右クリックする事でメニューが出ます。

戻る 進む を押せば指定した コマンド を実行します。
タスクトレイのアイコンを左クリックするか 戻る 進む を若干長く押していると ( 約 360ms 以上 ) メニューの コマンド 以下に出る メニューが 出現します。( オプションで ダブルクリック も認める様になります。) この場合には此を選択する事で 選択されたコマンドを 直に実行します。この メニューが出た時にはメニューが 選択された後の動作でアクティブになるウィンドウが有る時にはこのウィンドウのタイトルバーをアクティブ色に して識別表示します。
マウスボタンで選択の場合は左クリックで左側のコマンドを右クリックで右側のコマンドを実行します。 Ent とか 0〜9 A〜Z キー等の場合は 左側 最下行にチェックが有る時には 左側の コマンドを無い時には 右側の コマンドを実行します。Ent とか 0〜9 A〜Z キーを押す時に Shift キーを押していると 此の左右の コマンドを逆にして実行出来ます。
此のコマンドメニューが出ている時には 戻る 進む ボタンを押せば 戻る 進む ボタンに選択コマンドが割り振られます。
ミドルボタンを使用する時には ミドルボタンで選択する事でミドルボタンに選択コマンドが割り振られます。
マウスの左ボタンの時にはマウスカーソルのある方の( 左と 右の ) コマンドを実行します。
タスクトレイのアイコンを右クリックするか 戻る 進む を 若干長く押している ( 約 360ms 以上 )時に Shift を 押していると設定メニューが出ます。( オプションで ダブルクリック も認める様になります。)
プログラム立ち上げ機能が ON になっている時には タスクバー上で 戻る ボタンを押せば タスクトレイ左クリック で出る コマンドメニュー 進む ボタンを押せばで 右クリックで出現する設定メニューが出ます。 ( Shift を押していると 戻る 進むが 反転します。) タスクトレイアイコンを表示していない時 ( /N コマンドオプション ) 等に利用して下さい。
プログラム立ち上げ機能が OFF になっている時には タスクバー上で 戻る 又は 進む ボタン を Shift キーと共に 押せば 右クリックで出現する設定メニューが出ます。タスクトレイアイコンを表示していくて プログラム立ち上げ 機能が OFF になっている時に使用して下さい。
二重起動は認めませんが /N コマンド 指定時 又は Control を押しながら立ち上げる事で先に 常駐している BwFwButn に設定メニューを出さす事が出来ます。
スクロールホイールを廻す時に Control キー 又は Shift キー を押していると システムの出すスクロール信号 ではなく Control は上下 Shift は 水平 スクロール信号を出しますから 通常では スクロールホイールで スクロール出来ない物もスクロール出来るかも知れません。

【コマンドライン】
コマンドライン は 下記の /SW と 立ち上げる コマンドセットファイルを指定する事が出来ます。
/N タスクトレイにアイコンを表示しなくなります。
  常駐している BwFwButn.exe がある時には此に右クリックメニューを出させます。
/R 最初からボタン反転をして立ち上がります。
/S プログラム立ち上げ機能を OFF にして立ち上がります。
/W オプションの ダブルクリック も認める設定で立ち上がります。
/M ミドルボタンの長押しでコマンドメニューを出す MB プッシュ を有効にして立ち上がります。
/L ミドルボタンのクリックでコマンドを実行する MB クリック を有効にして立ち上がります。
/O On スクロール機能を ON にして立ち上がります。
/A アクティブ スクロール機能を ON にして立ち上がります。
/U ULC メニュー機能を ON にして立ち上がります。
/N ULC メニュー の Net を開く機能を ON にして立ち上がります。
/B ブラウザー上では反応しなくなります。( ブラウザー にチェックを付けて立ち上がります。)
/Z 最大化しているウィンドウ上では /T /B を指定しても反応する様になります。 ( 最大化 にチェックを付けて立ち上がります。)
/T Close ボタン等が有る物の上では反応しなくなります。( タイトルバー にチェックを付けて立ち上がります。)
/#0〜/#Z 戻る 進む ボタンに割り付ける コマンドセットの 0〜Z 番目を指定選択して立ち上がります。
( /#0 は実質的に意味が有りません。 )
/$0〜/$Z ミドル ボタンに割り付ける コマンドセットの 0〜Z 番目を指定選択して立ち上がります。
( /$0 は実質的に意味が有りません。 )
コマンドラインに 戻る 進む ボタンに 割り当てる テキストファイルを記述しない時は 同じフォルダーにある BwFwButn.bwf を読み込んで ( 無ければ作成して ) 立ち上がります。
スタートした時には /#0 /$0 指定が無ければ 一番最初のコマンドセットが有効になっています。

【立ち上げ時のキー】
コマンドラインの /N と排他的な動作になります。
Control : タスクトレイにアイコンを表示しなくなります。( /N がある時は 表示します。)

【制限事項】
【注意事項】
【使用に関して】
此の プログラムは バグ 動作不良などが無い事を期待されて作られてはいますが 違う環境での 正常動作 又 誤動作から来る損害等 についての 保証はいたしかねます。 ただし ご意見 提案 動作不具合報告等は歓迎いたします。

【履歴】
2013/09/30 Ver 1.000
同じ目的で先にプログラムした BwFwHook がどちらかというと メッセージを下流の 方で取得して サイドボタンメッセージを取得出来ない事が有るので Win XP からサポートされだした 逆に 一番上流 の方でのマウスインプットシグナルを利用する方法でプログラムしてみました。
作った物を自分が持っている全ての環境で使用してみると BwFwHook と同様に安定して動作をするし 扱いも 反応も だいぶ良くなっているので BwFwHook の代替プログラムとして公開しました。
2013/10/25 Ver 1.100
On スクロールのメニューと機能を加えて アクティブでないウィンドウ上でもマウスカーソルがその上に有れば スクロールホイールで垂直方向にスクロール出来る機能を加えました。
設定メニューはタスクバー上 + Shift で常に出す様に変えました。全体的にフックプロシージャーから引きずっていた コードや関数の制限を修正しています。
サイドボタンダブルクリックの失敗時のメッセージ確認消化時間が長すぎて次のクリックが早いと反応しなくなるのを 修正しました。内部変数が重なる可能性の有る所を変え 後に送る情報のビットを整理して余分な付加や削除を無くしました。
2013/11/20 Ver 1.200
アクティブウィンドウでもフォーカスの無いウィンドウの上にマウスカーソルが有れば 此に スクロールメッセージを送る アクティブ スクロール の機能を新設しました。又 通常のスクロールをサポートしないコントロール用に Control + ホイール を付加しました。 後 タスクトレイアイコン上でのメッセージの交錯から来るメニューの二重表示の不具合を修正しています。
2013/12/10 Ver 1.300
サイドボタンのダブルクリックはそれ程 し易い物ではないので 基本的には ボタンを長く押す事に変えて 操作を単純化し 此により プログラムの 立ち上げ コマンドメニューの出現 共に 反応が良くなりました。 この為 ダブルクリック操作はオプション扱いにしました。
子ウィンドウがグループボックスで囲まれていると目的のウィンドウを特定出来ない事が有るのを修正しました。
受けとったメッセージの後始末をシステムが必ず出来る様なコードを廻しにして安全性を高めました。 後 集中的にメッセージを処理消去する所のコードが 自分が終了出来なくなる可能性が有るので 此の部分を無くして 別方法で処理する事にしました。
2014/02/15 Ver 1.320
戻る 進む ボタン Shift キー を最終的に認識する所を一元化して 此に関するコードの無駄を無くしました。
コマンドを出さないのを 無変換キー から コマンドを出す出さないを Control キーで排他的トグル動作にして Control キー押しの用途を増やしました。
2014/03/17 Ver 1.330
あまり用途と意味の無かった Top Most のウィンドウ のフィルターの 代わりに 最大化している物については 常に実行するフィルター 最大化 のオプションに換えました。
直前のフォアグラウンドウィンドウをアクティブにするのが設定によっては確実でない時が有ったので 此を修正しました。
フィルター等に使用する相手を見極める API の使用を整理して余分な コールが出ない様に改善しました。
内部的な設定の記憶を配列型式から数値のビット列の形にして効率を上げました。
二重に起動しようとした時の扱いを常に常駐している BwFwButn に設定メニューを出させる様にして余分な 二重起動の警告はやめました。
後 若干ですがメッセージ処理コードを効率の良い物にしています。
2014/06/20 Ver 1.340
左右中央ボタンが離されてからフォアグラウンドウィンドウを確認する時に メッセージの有無を見て 無ければゆっくりと行い 立ち上がりの遅い物でも出来るだけ取り違いが無い様に 且つ この間に必要が有った時には すぐに反応が出来る様にしました。
コマンドセットの 0〜9 番目を指定選択して立ち上げる コマンドライン /0〜/9 をサポートしました。
/B スイッチの ブラウザー 認識に サファリも入れました。
2014/08/05 Ver 1.344
/B スイッチの ブラウザー 認識に Lunascape Sleipnir を入れました。
Control キーを押しながらの動作をディスクトップ上では 立ち上げメニューの有効の反転 その他の ウィンドウ上ではフィルターの反転に変えました。
2014/09/10 Ver 1.350
マウスの左ボタンと戻るボタンの時にはコマンドメニュー上でのマウスカーソルの左右での位置で 左と右のメニューアイテムを指定出来る様にしました。
2014/10/10 Ver 1.360
左右での位置で 左と右のメニューアイテムを指定が他のメニューでも働いていた無駄を無くしました。 コマンドセットの BwFwBuCm.txt はコマンド1つでも認める様にしました。バージョン のメニューを 右クリックで選択するとこの説明文が有れば表示する様にました。 コマンドメニューを出した時にどのウィンドウが対照かを示す為に対照ウィンドウのタイトルバーを アクティブ化して示す様にしました。
2014/10/30 Ver 1.362
余分なマウスのボタンやスクロールホイールの動きによってその時のアクティブなウィンドウをを見失う 可能性をより排除して この部分のコード効率を改善し 反応を良くする為に確認ループを倍の速さにしました。
2014/11/20 Ver 1.370
アクティブなウィンドウを認識するタイミングをシンプルなタイマー割り込みとマウスボタンが離された時点に 変えて 見逃す可能性を排除しました。此の事によってイベントメッセージは不要な待ち無しで直ぐに処理出来る 事になり反応が良くなりました。同時に コードも簡潔になりサイズもダウンしました。
又 アクティブなウィンドウの認識が正確になったのでスクロールホイール動作時にその都度のアクティブな ウィンドウの認識が不要になり此の部分のコードが余分な物が省けてシンプルになりました。 スクロールホイール動作時に同じウィンドウを連続してスクロールさせる時にはウィンドウの詳細な確認は 最初だけにして同じ時にはその後の確認はしない様にして効率を上げました。
ウィンドウのシャットダウンと共に終了する時に出来るだけ早い反応で終了するコードに変えました。
2014/11/28 Ver 1.371
Bw Fw ボタンでフィルターで指定したウィンドウやマウスカーソルの位置によってプログラムが立ち上げられなかったり メニューが出なかったりした時にタイマー割り込みとの条件がクリアー出来ないでアクティブなウィンドウを 見過ごして不自然な挙動が出てしまう不具合を修正しました。
2015/02/05 Ver 2.000
立ち上げ時のコマンドラインでのコマンドセット指定は制限が多く解りにくいので 全て コマンドテキストに 任せる様にしました。この為に コマンドセット指定の柔軟性が上がったので マルチライン指定が出来る様に なり 若干の条件分岐と 内部コマンドが発行出来る様にしました。全体的には ランチャーとしての機能の強化です。
進む 戻る ボタンが無い環境でも使用できるようにミドルボタンに割り振る事も出来る様にしました。
2015/03/31 Ver 2.100
Windows Vista 7 8 ( 10 ) 用に ULC メニュー オプションを付けました。
行頭の :での指定コマンドは 数種類に決まっているので :の次の文字は小文字のアルファベットしか 認めない様にして他のコマンド指定への柔軟性を上げました。その他数カ所の細かいコマンド対応を 改善しています。
2015/05/20 Ver 2.110
コマンドの最後の空白を削るループをより安全な物に変え クリップボード実行のテキストに クリップボード実行の /CB が入っている場所によっては見逃してしまう事が出るのを修正しました。
Bw Fw ボタンの機能を止めるフィルター ブラウザーが有効でも 設定 バージョン等のダイアログはこのフィルターは 効かない様にしました。
後 /X /S の特例を入れ /S の説明が無かったのを記述しました。
2015/08/31 Ver 2.120
DPI の仮想化による スケーリングの影響でメニューの文字が滲んで表示されてしまう事が有るので 此をを防ぐ為 内部的には スケーリングに対応している事を 宣言する事で OS のスケーリングの影響を受けない様にしました。
戻る 進む ボタンを押す時の Control キー動作を 排他的トグル動作から 押していれば 他の条件をオーバーライドして 動作する様に変えました。後 /X /S の特例を入れ /S の説明が無かったのを記述しました。
2015/11/05 Ver 2.130
BwFwButn.exe の立ち上げられ方によっては 他からのメッセージを受け付けなくなってしまう事を無くしました。
2016/01/10 Ver 2.200
Windows が終了する時に実行するアイテム WinQuit を付加し 新しい 内部コマンド /B01 WaveFile で サウンドを鳴らす様にしました。
最後の = で改行位置によっては メニューに入らない事のある不具合を修正しました。
2016/02/19 Ver 2.300
コマンドメニューを出した時の扱いの指定方法をメニューの出かたによって区別せず統一して解りやすくしました。
複数行のコマンドを実行した時の各実行後の待ちを確実にしました。又 コマンドを実行する時に実行の方法に よって必要なパラメーターを変えて無駄なリソースのリクエストが出ない様にしました。
ULC メニュー を出した時の基準フォルダーをアクティブ色にして認識しやすく違和感の無い様にしました。
メニューから実行する時 直に Fw Bw ボタンから実行する時 又その事後処理等 場合によって出来るだけ統一 したコードを通る様に整理して無駄を無くしました。戻る 進む 中央ボタンに コマンドを割り付けた時には 確認の為にビープのインフォ音をさせる様にしました。
Windows 10 では要らない On スクロール機能 のコマンドライン /O の扱いを 他のコマンドラインと同様に ON にして立ち上げるに変えました。
2016/04/10 Ver 2.340
自分自身で COM を使用する時 COM を使用する物を立ち上げる時の システムとの親和性を上げました。
メニューから コマンドを割り付ける時に進むボタンで選択すると ボタン反転の設定を 反転する様にしました。 又 間違えない様に コマンドを割り付ける時には Control キーを同時に押していないと反応しない様にしました。
ULC メニューは新たに デスクトップ ピクチャ ミュージック ビデオ フォルダーにも対応しました。
設定の フィルター タイトルバー と ブラウザー の使い勝手の為に 独立性を高め違う物として扱う事にして 戻る 進む ボタンを押す時の Control キーの動作を 排他的トグル動作にしました。
2016/07/10 Ver 2.400
ネットワーク上のファイルの扱いもより親和性の高い物に変えました。
/X /S の全てを対照の時でもアクティブウィンドウは残す特例はクラス名を指定する時だけに絞り クラス名を 指定しない時の動作を実用的に変えました。
内部コマンド /T は Z 順位 と アクティブ機能を 分けました。 メニューの選択は Bw Fw Middle ボタンでも 認める事にし コマンドの *Bit 3 4 の区別が付かなくなっていたのを 修正しました。此と同時に Bw Middle ボタンでのコマンドメニューの左位置右位置の使い分けを出来る様にしました。
Middle ボタン はタイトルバーの有る物は無効から タイトルバーが有ってもタイトルバーからメニューの有る 所ぐらいまでは認める事にしました。
ULC メニューに Net を開く のサブメニューを付加しました。
2016/10/25 Ver 2.420
連続して開ける時 立ち上げる時のフォアグランドの区別がはっきり付く様にし 又 余分な待機はしない様にしました。
Net を開く の機能を ネットワークドライブでない時には一段上のフォルダーを別ウィンドウで開く様にし 又 記述コマンドでない物を開く時 に余分な経路で開くのをやめて 直に開く様にして多少効率を良くしました。
2016/11/30 Ver 2.450
BwFwButn.bwf に書くコマンド様式も クリップボード実行 の ファイル名を指定して実行 の型式とを 共通のパラメーター解析コードを使用する事にして様式によって違う結果が出ない様に整合性を取り コードの使用効率を上げました。
この結果 BwFwButn.bwf に書くコマンド様式も コマンド + パラメーター 2項目だけなら Space 区切りも認める 様になり 通常の書式で良くなり 利便性が上がりました。 ( もちろん 此まで通り Tab 区切りの方が正確でパラメーターも多く指定出来ます。)
又 /CB のクリップボード実行の メモリーの独立性を高めサイズの制限も無くしました。
2017/03/05 Ver 2.500
内部コマンドに /A タスクメニューを新設しました。内部コマンド /T に最下位ウィンドウ指定の /T3 フォアグラウンドウィンドウにする /T7 を増やしました。
2017/04/10 Ver 2.520
フォルダーメニューを 立ち上げる所のコードを全てユニコードで扱う事にして 文字違いから来る 不具合が 出ない様にし 又 コード変換の無駄を無くし 効率を上げました。
1つ上を開く は 上を開く にして Net を開くのチェックとは関係無しに常に出る様にしました。
別ウィンドウで開いた後のタイトルバーのアクティブ色が残る事が有る不具合と スタートアップ時にタイミングが 早すぎてタスクトレイアイコンが確保出来ない事が有るのを修正しました。
2017/05/20 Ver 2.530
\\コンピューター名\共有名 の表示の時に 上を開く でもう一段上を開いてしまい そのコンピュター下の 共有フォルダーアイテムを開かない不具合を無くしました。
2017/06/25 Ver 2.540
タスクメニュー表示時のキーアクセラレーションの内部メッセージ処理するコードが入っていなかったので 此を整理して Space キーの扱いもはっきりさせて 付加しました。
フォアグラウンドウィンドウにするタイミングが 早すぎてミスする事が有るので余裕を持たせました。

 最新版 06/25 2017 Ver 2.540 Size 32 kb BwFwButn のダウンロード
−戻る−