マウスのスクロールボタンは大変に有効な物だとは思いますが 通常は アクティブ ウィンドウしかスクロール
しない様になっています。( ソフトによって アクティブでも マウスカーソルが自分上に無いと スクロールしない
物や する物も有ります。)
そんな時に 下のウィンドウを参照していてスクロールして次を見たいと言う用途が 多々有ると思いますが 下の
ウィンドウをスクロールする為には此をアクティブにしなければならなくて アクティブにしたら 上下関係とか
入力窓が変わってしまうとかをさせない為に 下に有る物だけをスクロールしたい 等との用途を考えてこの OnScroll
を作りました。
アクティブでなくても マウスカーソルが目標上に有ればマウスホイールによってスクロールさせる事が出来ます。
アクティブなウィンドウにマウスカーソルが有る時にはフォーカスの有無により動作が若干変わる事も有りますが
基本的には何もしません。
アクティブなウィンドウ の時にはフォーカスの有るウィンドウがスクロールしますが 此の OnScroll の持つ機能は
マウスカーソルの有るウィンドウを対象としますのでかえって変な所のウィンドウがスクロールしなくていいかも
しれません。
此の辺りの事は
テクニカルインフォーマション
にも書きました。( 此は Windows 8 までの話です。)
Windows 10 になってからスクロールは アクティブ インアクティブ に関係なくなりました。その為 存在理由は
Shift + ホイールでの 横スクロール機能だけになってしまいましたが Ver 1.600 から マウスカーソル位置を確認して
搬出する スクロール信号を変える事によって Shift を押さなくても 横スクロールが出来る様になりました。
横 スクロール は マウスの横スクロールボタンの出す信号と 従来から有る 横スクロールバー移動の信号を
同時に 搬出しますから 横スクロールメッセージに対応していないソフトでも横スクロールが出来る可能性は
高くなります。
メーカーのマウスドライバーやユーティリティーと違って マウスの種類 メーカー 等には全く影響を受けません。
動作中に違うマウスに変えてもそのまま動作を同じ様に続けられます。( 2 つのマウスの事は考慮していません。)
メーカーのマウスドライバーとかユーティリティーは有っても無くてもかまいません。一番 上での メッセージを
取得して動くのでそれ以降のソフト等は関係有りません。
通常は スタートアップに登録して動作させっぱなしと言う事になるかと思います。
立ち上げ時の コマンドが 若干指定出来ます。
縦スクロールについては 通常通りで何も変わる所は有りません。横スクロールさせたい時には 横スクロールバー
の上にマウスカーソルを置いて 横スクロールホイール( SW )を押して下さい。横スクロールホイールをサポート
していない ソフトでも 横スクロールさせる事が出来るかも知れません。( 横スクロールボタンでのサポートは
Vista 以降ですが Vista 以前のソフトでも横スクロールさせる事が出来るかも知れません。)
横スクロールホイール( SW ) が無いマウスでも 横スクロールバー上にマウスカーソルを置いて 縦スクロール
ホイールを廻して下さい。横スクロールさせる事が出来るかも知れません。( 多分 縦スクロールもしてしまい
ますがご愛敬です。)
あまりしないかも知れませんが 縦スクロールバーに マウスカーソルを置いて 横スクロールホイール( SW )を
押すと 縦スクロールさせる事が 出来るかも知れません。( SW だから押しっぱなしで連続してスクロールします。)
後 横スクロールバー上にマウスカーソルを置いても 横スクロールしないソフトも有るかも知れません。その様な
時には Shift キーを同時に押して見て下さい。(ソフトの中には子ウィンドウが無かったり 検出出来ない物が
存在します。その為の切り替えの Shift キーです。)
立ち上げ時の コマンドが 若干指定出来ます。
通常はタスクトレイにアイコンが出ます 此を右クリックする事でメニューが出ます。
- 終了 : 通常の終了です。
- バージョン : 通常通りの バージョン情報です。
マウスの右クリックで選択した時に同じフォルダーに OnScroll.txt が有れば 此を開きます。
- 一時停止 : 此を選ぶと チェックが付きます。この時は 自分の機能を停止します。
再度選択する事で チェックが無くなり 動作開始をします。
- Ac スクロール : チェックが付きの時には アクティブなウィンドウ上でフォーカスが無くてもマウスカーソルが
その上に有ればスクロールホイールでスクロール出来る様になります。Shift キー を押していれば縦スクロール
ホイールでで横スクロールをさせられます。( 横スクロールボタンでのサポートは Vista 以降になります。)
一時停止 中は働きません。
- ULC メニュー ; チェックが付きの時には フォルダーウィンドウ ( エクスプローラー ) の左上アイコン
辺りの 右クリックで此のフォルダーに対するコンテキストメニューを出す様にします。
( より詳しくは CabULCmu を
参考にして下さい。)
此の チェックが無い時でも 右クリック と同時に Shift キーを押していれば コンテキストメニューを
出します。チェックが有る時にShift キーを押していればメニューは出しません。
- └Net を開く ; チェックが付きで ULC メニューが有効の時には そのドライブがネットドライブの時には
メニューの最初が 閉じる ではなく Net を開く になり 此を選択すると オリジナルのネットワーク上の
フォルダーを開きます。
但し チェック が無くても フォルダー表示が E:\ の様なドライブ表示の時には ドライブを調べて 同様に
ネットワークドライブ なら メニューは Net を開く になります。
ネットワークドライブでない時には 通常通り1つ上 を開く になって一段上のフォルダーを
別ウィンドウで開きます。
左上アイコン辺りの右クリックをする時に Control キーを押していると Net を開くの設定を反転させる
事が出来ます。
- Menu Rボタン ; マウスの右ボタンでの選択が出来ないメニューでも 右ボタンで 選択が 出来る
様にします。但し 有効なのは タイトルバーの有る ウィンドウが出したメニューです。又 右ボタンで何か特殊な
動作をさせるメニューには相性が悪いかも知れません。
同時に 此を有効にすると ドロップダウンコンボ の選択も 右クリックで出来る様になります。
- タスクトレイ : タスクトレイの通知領域のアイコンを 表示 非表示にします チェックが付いている時は表示
している時です。
二重起動は認めませんが 二重に起動しようとすると先に起動している OnScroll にメニューを出させます。
スクロールホイールを廻す時に Control キー 又は Shift キー を押していると システムの出すスクロール信号
ではなく Control は上下 Shift は 水平 スクロール信号を出しますから 通常では スクロールホイールで
スクロール出来ない物もスクロール出来るかも知れません。
此の プログラムは バグ 動作不良などが無い事を期待されて作られてはいますが 違う環境での
正常動作 又 誤動作から来る損害等 についての 保証はいたしかねます。
ただし ご意見 提案 動作不具合報告等は歓迎いたします。
2013/10/20 Ver 1.000
先にプログラムした BwFwButn で使用したマウスメッセージを直に先取りする機能がスクロールホイール信号にも
有効で マウスメッセージをフックしなくても インアクティブウィンドウのスクロールに利用出来る事が解り
結構有用だと思われるのでインアクティブウィンドウのスクロール機能
だけに特化した新規プログラム OnScroll を作成しました。
2013/11/15 Ver 1.100
アクティブウィンドウでもフォーカスの無いウィンドウの上にマウスカーソルが有れば此に スクロールメッセージを送る
Ac スクロールの機能を新設しました。又 通常のスクロールをサポートしないコントロール用に
Control + ホイール を付加しました。
2013/12/05 Ver 1.120
子ウィンドウがグループボックスで囲まれていると目的のウィンドウを特定出来ない事が有るのを修正しました。
受けとったメッセージの後始末をシステムが必ず出来る様なコード廻しにして安全性を高めました。
2014/03/12 Ver 1.130
内部的な設定の記憶を配列型式から数値のビット列の形にして効率を上げました。
コマンドライン / N が無くても 先に 起動している OnScroll がある時には 此に メニューを
出させる様にして 余分な二重起動の警告はやめました。後 若干ですがメッセージ処理コードを効率の
良い物にしています。
2014/11/10 Ver 1.140
スクロールホイール動作時に同じウィンドウを連続してスクロールさせる時には ウィンドウの確認は最初だけにして
その後の確認はしない様にして効率を上げ ウィンドウの確認をより正確に出来る様にしました。
マウスメッセージで一番頻繁な Move は即パスする様なコードにして余分な確認演算をしない様にし
ウィンドウのシャットダウンと共に終了する時に出来るだけ早い反応で終了するコードに変えました。
2015/03/15 Ver 1.200
フォルダーウィンドウ ( エクスプローラー ) の左上アイコン辺りの右クリックで 此のフォルダーに対する
コンテキストメニューを出す ULC メニュー 機能を付加しました。
スクロールに関しては ウィンドウの確認は最初だけにするのをもう一つ進めて此の時点で判断を1つ
する事で連続しての判断を無しにして子ウィンドウの取り違えをより少なくしました。
2015/05/10 Ver 1.210
左上のアイコンを右クリックする時に Shift キーを押していると 一時停止 設定と逆動作をさせる様にしました。
コンテキストメニューの認識に ドキュメント ごみ箱 コントロールパネル を加えました。後 内部的なリソースを
整理して無駄を無くしました。
2015/07/28 Ver 1.220
DPI の仮想化による スケーリングの影響でメニューの文字が滲んで表示されてしまう事が無いように 内部的には
スケーリングに対応している事を 宣言する事で OS のスケーリングの影響を 受けない様にしました。
2016/02/24 Ver 1.240
OnScroll.exe の立ち上げられ方によっては 後からの OnScroll のメッセージを受け付けなくなってしまう事を
無くしました。
ULC でコンテキストメニューを出した時のフォルダーウィンドウをアクティブ色で表示して違和感を無くし
フォルダーの識別もし易い様にしました。
2016/04/15 Ver 1.270
ULC メニューは新たに デスクトップ ピクチャ ミュージック ビデオ フォルダー にも対応し 安定して より確実に
表示出来る様にしました。
ULC メニュー の下に └Net を開く のオプションを入れて ネットワークドライブの時にはオリジナルの
ネットワーク上のフォルダーを開けられる様にしました。
2016/11/15 Ver 1.280
Net を開く の機能を ネットワークドライブでない時には メニューを 1つ上 を開く に変えて 此を選択する事で
一段上のフォルダーを別ウィンドウで開く様にしました。
2017/03/30 Ver 1.300
フォルダーメニューを 立ち上げる所のコードを全てユニコードで扱う事にして 文字違いから来る 不具合が
出ない様にし 又 コード変換の無駄を無くし 効率を上げました。別ウィンドウで開いた後のタイトルバーの
アクティブ色が残るの不具合を修正しました。
1つ上を開く は 上を開く にして Net を開くのチェックとは関係無しに常に出る様にしました。
2017/05/10 Ver 1.310
\\コンピューター名\共有名 の表示の時に 上を開く でもう一段上を開いてしまい そのコンピュター下の
共有フォルダーアイテムを開かない不具合を無くしました。
スタートアップ時にタイミングが早すぎてタスクトレイアイコンが確保出来ない事が有るのを修正しました。
2017/10/15 Ver 1.320
内部で廻すメッセージの一部ををより余裕の有る物に変えました。
エクスプローラーのエラーでタスクトレイのアイコンが失われた時に内部の保持デートと整合性がとれなくなり
タスクトレイのアイコンを表示出来なくなる事を修正しました。
2017/11/25 Ver 1.340
ULC メニューを出す時の 左上アイコン辺りの右クリックをする時に Net を開く と 上を開く を Control キー
で切り替えられる様にしました。
2018/01/15 Ver 1.360
ULC メニュー の最初の を開く は必ず新しいウィンドウで開く様にし 上を開くの時は 開いたウィンドウでは
ULC メニューを出したウィンドウを選択した状態で開く様にしました。又 この時に 送る文字列もワードアラインを
取って渡す様にしました。
2018/03/30 Ver 1.380
常駐している時に システムの不具合などで デスクトップ周りのベースウィンドウのハンドルが変わってしまった
時に 此を取り直す機能を付加しました。後 全く使用する目的も無く取得していたシステム周りのハンドルを
取得するのをやめて無駄を無くしました。
2018/05/30 Ver 1.400
ULC メニュー を出す範囲は出す相手にきちんと右上のアイコン位置かどうか確認する 事にして位置を正確にし
又 余分な 位置決めの API コールを無くして コードの効率化 サイズも減少しました。
2018/07/25 Ver 1.420
スペシャルフォルダーを求めるAPI コールの戻り値 判断を修正して正しくしました。
カーソル位置を取得する API を実情に沿った物に換えて効率を良くしました。
後 ウィンドウメッセージ取得後に 余分な分岐をしなくてもいいコードに変えました。
2018/10/15 Ver 1.440
ULC メニュー を出した後のターゲットフォルダーのタイトルバー色の扱いを確実に メッセージが回ってから
処理する様にしておかしな表示になる可能性を減らしました。
立ち上げ時のタスクトレイアイコンの待ち時間もメッセージループの中で処理する様にして 砂時計アイコンを
出ない様にし その間の反応も良くしました。
2019/04/15 Ver 1.460
ULC メニュー は フォルダー表示がドライブの時には Net を開く が有効でなくても ネットワークドライブかを
必ず確認する事にしてネットワークドライブの時には Net を開くのメニューを 出す事にしました。
システムのメニューが先に出てしまった時でも確実に此を消してから ULC メニューを出す様にしました。
2019/10/25 Ver 1.480
ULC メニュー が より Original メニューと重ならないで 安定して出る様にしました。
ターゲットフォルダー表示のアクティブ色 インアクティブ色がタイミングが間に合わなくて取り違えるのを
無くしました。
ULC メニュー が出ている時のメッセージ廻しをより安全で抜けの無いコードにしました。
2020/06/25 Ver 1.500
マルチモニター環境に対応しました。
メニューを出した後は自分は速やかに Background に待避する様にして出来るだけメニューを出す前の
状態に早く戻し 他に与える影響を出来るだけ少なくしました。
2020/10/20 Ver 1.600
On スクロール 機能を見直して カーソル位置が何処に有るかを検出して から条件でスクロール方法を変える様に
して 柔軟性を拡大しました。此の為 付加メニューも └アクティブ から └Ac.シグナル に変えました。
スクロールホイール + Shift キーは 横スクロールホイールバー上にマウスカーソルが有る時には Shift キーを
押さなくても機能するようにしました。但し 横スクロールホイールバー上にマウスカーソルが有る事を 検出出来ない
ソフトのために + シフトキーは残しています。
横 スクロールホイール + Control キーは殆どする事もなく 他の機能と被る事が多いので廃止しました。
自身は 文字入力も無く IME 使用無しの宣言をして常駐メモリー量を大幅に減少させました。
2021/07/15 Ver 1.640
ULC メニューを出す時に 元のシステムメニューを押さえるコードを入れてメニューが二重に出る可能性を
より減らしました。
メニューのバージョンを マウスの右クリックで選択した時に同じフォルダーに OnScroll.txt が有れば
此を開く様にしました。
2021/09/30 Ver 1.700
マウスボタンのチャッタリングの防止コードを入れて 余分なメッセージを廻す 可能性を排除しました。
マウスの右ボタンが押された時に 直下の確認をして ボタンが離された時に 出来るだけ速く ULC メニュー を
出す様にしました。ULC メニュー のアクセラレーションキーが効いていない状態を修正しました。
2021/11/15 Ver 1.800
ULC メニュー のアクセラレーションキーが効いていない状態を修正し 押されている キーが出来るだけ他に
影響を与えない様にしました。又 マウスボタンの左右どちらの ボタンでも OK にしました。
メニューが 右ボタンでも 選択出来るようにする Menu Rボタン を付加しました。Rボタン を有効にして
立ち上がる コマンドライン /R を新設しました。
2022/01/20 Ver 1.820
ULC メニュー の 上を開く の処理をした後その下のフォルダー表示ウィンドウの タイトルバーの色が不整合に
なってしまうのを修正しました。
設定の Menu Rボタン が有効な時には フォームのメニューも右ボタンで開く様にしました。
メッセージダイアログが適当な所に アイコン付きで 開く様にしました。
2022/04/25 Ver 1.860
ULC メニューからの他のプログラム立ち上げの状態を出来るだけエクスプローラーからの状態に近くして挙動の
不自然さを少なくしました。又 メニューを立ち上げる時に 内部の待期関数に係らない様にして若干ですが
( 少なくても 30ms以上 )速くメニューが出る様になりました。
ダイアログは順当と思える位置に必要に応じて アイコンを付けて表示する事にしました。
Menu Rボタン は 他のプログラムの R ボタンとの関わりを少なくするために 長く押されて離された
( 約 0.5 秒 ) 以上の時には動作をしない様にしました。
内部的に動作をやり取りするメッセージポストが機能をしたり表示を変えたりする ウィンドウズメッセージに
係らない様に順序正しく廻る様にして安定性を上げました。
2022/09/20 Ver 1.880
タイミングによってはおかしな所の右ボタンアップで ULCメニューが ON に なってしまう可能性を無くしました。
ULC メニュー を出せる可能性の有る時には 右ボタンダウンで Fol.Menu の チップを出す様にしました。
2022/11/10 Ver 1.900
Windows 11 の 22H2 から始まったタブ付きのファイルエクスプローラーでは NCAHITTEST の返す値が 約束と
違うので此を使用する ULC メニュー 動作が所定の所で出る様にしました。
2023/08/05 Ver 1.920
コマンドラインを取得する所を統一して若干効率を良くし 値の再確認も入れて 安全性を高めました。
同梱ファイル ( OnScroll.txt ) の サポート情報を最新の物に変えました。
2023/10/15 Ver 1.940
Windows 11 の ファイルエクスプローラーの構造が大きく変わって 此のウインドウでは ULC メニューが
出なくなったのに対応しました。
子ウィンドウから親ウィンドウを探す API を効率の良い物にしました。
2023/12/30 Ver 1.960
Windows 11 で ULC メニュー を出す左上アイコン周りの位置を調整しました。
最初に ULC メニュー が出るか確認する所と 実際に出すコードをはっきりさせました。
2024/06/20 Ver 1.980
自分の出したポストメッセージ以上を処理してしまい通常のメッセージの順序を変えてしまう可能性を排除しました。
ULC メニューを出して選択アイテムを処理する時に余分なフォアグラウンドの切り替えで表示がおかしくなる事が
有るのをなくしました。
2024/07/30 Ver 2.000
Windows11 24H2 でファイルエクスプローラーのタブタイトルバーのテキスト表示仕様の変更が有ったので此に対応しました。