SbFolder
このプログラムはマイコンピューターから存在する全てのフォルダーをメニューに表示しそれを追って
深いフォルダーでも一回で開く事が出来る物です。コマンドラインによって途中のフォルダーからも
始めることが出来ます。深いフォルダーをエクスプローラーから追うのも面倒なので此の事専用に
作ってみました。
SbFolder ルートからのメニュー表示中
特徴
マイコンピューターから存在する全てのフォルダーをメニューを追うことで開く事が出来ます。
コマンドラインによって途中のフォルダーからも始めることが出来るので送るなどにショートカットを
おいておけばそのフォルダーの下のフォルダーをメニューで探しながら開く事が出来ます。
SbFolder.inf の右コンテキストメニューからインストールをすればフォルダーの右コンテキスト
メニューにサブフォルダーと言うメニューが加わりますのでそのフォルダーから始める事が出来る
様になります。通常 良く開くフォルダー を編集した物を持てますのでそれを直接開いたりそこから
メニューを出していく事もできます。右クリックで 5 個までフォルダー/ファイルの記憶が出来るので
一度の起動で最大 6 個まで フォルダー/ファイル を開く事が出来ます。
Ver 2.120 からは ネットワークに直接入っていけるようにもなりました。フォルダーを開くだけでなく
メニューに表示されたファイルも関連付けプログラムで直接開けられます。
Ver 2.221 で フォルダー下の 全ての フォルダー/ファイル名のフルパスをクリップボードに取り込む
機能を付けましたので何かの確認に使用できるかも知れません。
Ver 3.100 からは エクスプローラーの右コンテキストメニューを出す事が出来る様になりましたから
そのフォルダ^を開くことなく何らかの操作も出来る様になりました。
Ver 2.520 で公式的に Wondows 7 Ver 3.030 で Wondows 8 対応として 現在は Windows 10 まで対応しています。
2000 /05/20 Ver 2.00構想 2 年プログラム 2 日でとりあえず初公開。
------- ずーっと改良 -----------
2005/12/17 Ver 2.400 -VF は 二度読みしないようにして
バージョン情報 の下に出るメニューの作成
効率を高めました。此に伴って -VF と似ている
最初のコマンドラインで *.TXT を与えると此が
SbFolVF.TXT と同じ働きをするのを拡張して
此のテキストの前に ; を付ける事で最初から始めて
バージョン情報 の下に出るメニューが此の指定テキストになるオプションを入れました。
コマンドラインで *.TXT を指定する事で
メニューを作成するファイルを複数切り替えて使用する事に
便利なようにしました。
2005/12/24 Ver 2.410/-NET /-(AD) 等が下から最初のドライブに上がった時に無効にならずに一度の
立ち上げの時には常に有効のままになるようにコマンドラインも柔軟性を持たせて
/-NET ;C:\???.TXT /-(AD) D:\ の様に両方受け取れる仕様に
/-NET /-(AD) 等もどこにおいても
有効となるようにしました。この様な改良で内部的にはドライブから始める時に確認事項が簡単になり
コードも少なくなっています。又 Help を表示する効率も良くなっています。
2006/01/14 Ver 2.412アプリケーションパスを取得する所のコードの確認を整合性の有る物にしました。
プログラムを All Window Version と Win 98 or
Later に分けて Win 98 or Later では効率が良くなる
ようにしました。
2006/01/24 Ver 2.420Win 95 98 環境では
アプリケーションパスは一つしか無く ユーザーが違っても
SbFoldVF.TXT SbFoldPG.TXT の切り替えが出来ませんでした。此を解消する為に
これらのファイルは
インストールパスの SbFolder[UserName]VF.TXT
SbFolder[UserName]PG.TXT として保存する事にして
切り替えが出来る様にしました。此に伴いアプリケーションデータのパスを取得する必要が無くなり
All Window Version と Win 98 or Later に分ける必要も無くなりました。
2006/02/15 Ver 2.422コマンドライン SW に
フォルダーを開く時に Folder Tree ( TreeView )付きで開く
/+E を加えました。
2006/02/19 Ver 2.423始めるフォルダー 又は VF
指定の ファイル名が "" で括られていてもいなくても
対処出来る様にしました。可能性は少なかったのですが特殊な文字の並びのファイル名だと誤動作して
しまう不具合を修正しました。
2006/03/16 Ver 2.424コマンドライン解析取得コードの効率を良くしました。
2006/05/09 Ver 2.425立ち上げられ方によっては
キーフォーカスが無かったりメニュー以外の所の
クリックでキャンセル出来ない事の有るのを修正しました。メニュー作成に時間がかかる時の
マウスカーソルの動きをメニューの出る直前にして違和感を無くしました。
2006/06/22 Ver 2.426必ず毎回作るメニューの数と高さ合わせの確認を省ける所はしない事にして
若干ですが此の部分を効率の良い物にしました。
2006/08/22 Ver 2.427SbFolder[UserName]VF.TXT SbFolder[UserName]PG.TXT
が先に開かれていても
読み込める様に修正しました。又 此のファイル読み込みを多少効率の良い物に変えました。
2006/10/03 Ver 2.428メニューが選択される毎に確認されるキー押しの取得を若干ですが効率の良い
物にしました。
2006/11/06 Ver 2.430ヘルプファイルを
コンパイル済み HTML ヘルプ に変え 此に伴い
SbFolder.inf
も変えました。ユーザー名を取得出来ない時の扱いを確実な改善したコードに変えました。
2006/11/16 Ver 2.432メニューの数を画面の縦方向だけでなく横方向も考慮する事にしてワイド画面 又は 90°回転画面等にも対処出来る様にしました。
2006/11/25 Ver 2.433メニューを戻った時の確認
消して次を作成する時のタイミングを取るコードに
余裕を持たせ整理しました。
2007/02/01 Ver 2.434開く Program / Command 付加 を指定するダイアログが他のウィンドウに隠れて
指定できなくなる事があるのを防止しました。その他
若干のコードの効率化です。
2007/02/14
同梱のヘルプファイルテキストファイル を修正版にしました。
2007/04/12 Ver 2.440メニューをソートして表示するのに
メニューを作ってからソートしていたのを
フォルダー ファイル の各アイテム名を取得後
自分のメモリー中でソートしてからメニューを作る
事にしました。これによりソートが単にメモリー配列の入れ替えだけになりかなりの
スピードアップに
なり 又 若干のサイズダウンになりました。
2007/04/23 Ver 2.441メニュー用の各フォルダー
ファイル名 取得メモリーの大きさをその都度必要な
量を確保する事にして無駄を無くし動作必要メモリーの減少をしました。
2007/06/03 Ver 2.442メニュー用の 各フォルダー
ファイル名への 取得メモリーのポインター配列の
バッファはその都度取得するのではなく
配列への数が変わらない限り保存する事にしてメニューを
作成する時の無駄を少なくしました。
2007/07/19 Ver 2.443ドライブからのメニューで
準備中の CD-ROM や リムーバブルドライブが有ると
これが準備出来るまでメニューが出なくなり
かなり待つ事になるので CD-ROM の方は FD
ディスクと
同じようにドライブの内容は確認しない様にしました。
( リムーバブルドライブ は USB ドライブが
有るので 今までと同じように時間がかかっても確認する事にしています。)
2007/08/21 Ver 2.444ドライブからのメニューで
無変換キーを押して立ち上げると CD-ROM ドライブ
リムーバブルドライブの内容を確認しない様に変えました。
無変換キーを押していない時はドライブの内容を確認します。
2007/09/21 Ver 2.450読み取るのに時間のかかるフロッピードライブ
準備中のリムーバブルドライブ
ネットワーク先等を読み取り中にキャンセルの為に他の場所のクリックをした時に内部的なメッセージ
が先出しされて場合によってはおかしなフォルダーのオープン
又は アプリケーションエラー 最悪の
時はコンピューターのリセット等が 希に出てしまう事が有るのを防止する為に此の辺の最後の処理確認
のコードを堅い物にしました。
2007/10/06 Ver 2.452サブメニューを作成する為のメニュー文字列整理用のバッファの取得をなるべく
一回でプログラムがアイドル状態になった時に取得する様にしてメモリー再確保の無駄と立ち上げり時の
余分なコードを減らしました。
2007/11/01 Ver 2.453想定上の最後のメニュー深さと
フォルダーが無くメニューは全てファイルの時の
メニュー最後に有る - OO 個 - の ID と有効無効の扱いが間違っていて
右ボタン動作 左ボタンの長押し
動作が仕様通りで無かったのを修正しました。
2007/11/10 Ver 2.454確保したメモリー使用の共通化とこれらの初期化を余裕の有る時にする様にして
立ち上げ時の余分な動作 フォルダーを開く前の共通のコードを除いて効率を良くしメモリー消費量も
若干少なくしました。
2007/12/15 Ver 2.455有る特定の環境で
ショートカット( *.LNK ) が直に開けない事が有るのを修正
しました。又 インストールファイルを含めて
Win Vista に 対応している事を確認しています。
2008/01/02 Ver 2.460右クリックでのフォルダー記憶のメモリー取得サイズを必要量だけにして無駄を
無くして此の確保確認もする事にし 此に伴い記憶個数を
5 個 にして全部で 6 アイテム扱える様に
しました。後 立ち上がる時の Work Bufa を
先に要る物 後に必要な物を出来るだけ共通化して此の
バッファサイズを押さえました。
2008/03/02 Ver 2.462メニューをリアルタイムで変えるのを動作が外れた時に出来るだけ他のシステムに
影響を与えない安全なメッセージに変えました。
2008/04/02 Ver 2.463メニューを作成するメモリーバッファを指定するメモリーは一度確保したら最大
メニュー数だけ変える事にしてメモリー再確保の無駄と此処のコードの無駄を無くしました。
2008/04/09 Ver 2.464マイコンピューター
ネットワーク を開く時に順序と開く数によってはバッファが
不足してメモリー違反が出てしまうのを修正すると同時に
此処の所の重複部分を効率化しました。
2008/08/05 Ver 2.465メニューの深さを大きく戻った時にメニューを全て表表示出来なかった為の変数が
クリアーされずに残ってしまう不都合を修正すると同時に此の辺の分岐コードの効率を良くしました。
2008/08/13 Ver 2.470メニューの深さを戻った時と自分自身でメニューの再構築を始める為のタイマーの
遅延時間を作動しているコンピューター固有の値を取得して使用する様にして此の所でのメッセージの
行き違いから来る不都合とメニューの出るタイミングが違う事のある不自然さを無くしました。
又 余分なパスを切るコードと文字列の最後を探すコードを共通化して此の部分を一回の処理で済ます
様にして効率とスピードアップをしました。
2008/08/25 Ver 2.472必ず通過するメニューを作成する時の記憶パスの最後を探す所を余分なパスを切る
コードからの関連で与える事にして此の辺の関連コードを一回りだけで済ます様にして効率化しました。
2008/10/08 Ver 2.473一つだけ開く時や最後を開いた後はウェイトを入れずにすぐに帰る事にして自分が
余分な物に引っ張られる事を出来るだけ避ける様にしました。
2008/11/01 Ver 2.474立ち上げのされ方によっては自分が
フォアグラウンドになれずにメニューの動作が
通常と違ったりキー入力を受けていなかったりする事があったので自分が確実にフォアグラウンドになる
為のコードを付加しました。
2008/12/13 Ver 2.475バージョン情報の下に出るメニューの内容にファイルを指定した時に此が一番最初に
指定されると場合によってはメモリーエラーで落ちる事が有るのを修正し
此処の作りを堅い物にしました。
2009/01/04 Ver 2.480あまり無い事ですがプログラムの想定限界のフォルダー(
深さ 31 ) 深さ以上から
始められると場合によってはメモリー違反が起こって落ちる不具合を修正し
ポップアップメニュー深さの
限界から来る作成メニュー表示がおかしくなる事への対処をしました。又
フォルダー以下全てを対象にした
時にフォルダーの深さによってはメモリー違反が起こって落ちる不具合も併せて修正しました。後
メニュー
の選択が変わる時の余分なメッセージの行き交いを整理し不必要な
ID と セレクト確認のコードを廻さない
様にしました。
フォルダー深さ関連については
プログラミング
チップス の
フォルダー深さについて に書きました。
2009/01/26 Ver 2.490最初にドライブから始める時に初めに有効なドライブを確認して始めるコードにして
余分なドライブの確認/識別ループを省ける様になり立ち上がりが多少なりとも速くなりました。
( ドライブの数によって違いますが此の部分だけなら
10 倍 以上のスピードアップになりました。)
又 深い位置から始めた時のメニュー深さ/認識の確認を最初からでなく途中から始める事にして余分な
確認ループの無駄を無くしました。
2009/03/23 Ver 2.491関数の返す値の計算を若干ですが効率化してコードも整理しました。
2009/05/22 Ver 2.500コマンドライン解析部分を若干ですが効率化しました。
Windows 98 用のメモリマネージャー用の読み込み時間短縮オプションをやめてアプリケーションのサイズ
( ディスク サイズ )を縮小しました。
2009/06/03 Ver 2.510キーボードだけの 操作用の
→↑↓→ と Enter キーでの選択をフォルダーの途中表示
でも出来るようにしました。
此に伴って 表示位置指定でマウスカーソルを動かさない
/200'300 のコマンドラインを付加しました。
バージョン情報の左右クリックと Shift
Control 長押し等の動作を整理して テキスト と
ヘルプ も書き加えました。
2009/07/15 Ver 2.511コマンドライン解析部分を無駄なループを抑えて若干の効率化をし此のループの安全且つ
確実化もしました。
2009/09/02 Ver 2.512コマンドライン取得をを送られて来た場合に分けて処理する事にして効率を良くしました。
又 ユーザー名取得コードを若干改善しました。
2009/11/11 Ver 2.520Windows 7 ( たぶん Vista でも )
では Windows Install Directry にファイルを
作成する事が出来ずに SbFolder[UserName]VF.TXT
SbFolder[UserName]PG.TXT が残せなかったので此を
各ユーザーの Application Data フォルダーに
SbFolderVF.txt SbFolderPG.txt で記録する様にしました。
2010/01/18 Ver 2.522バージョン情報の下に出るメニューを
SbFolderVF.txtから作成する時に書かれている
ファイルを確認する方法を余分な事は初期段階で排除する効率の良い物に変えて適応されないドライブを
排除する速度は何十倍の単位で速くなりました。後この部分でファイルが
Open 出来なかった時の処理が
間違っていたのを修正し メニュー作成時の確認処理を堅い物にしました。
2010/02/24 Ver 2.524
最初にドライブから始める時のコードを若干ですが効率の良い物にしました。
後 同梱のヘルプファイルを見やすい物に換えました。
2010/07/14 Ver 2.525
メニューの出るまでの時間取得やバッファ確保を若干ですが効率の良い物にしました。
2010/09/10 Ver 2.526
新たに開くウィンドウが同族のウィンドウの最大化最小化等に影響されてしまうのを防止する様にしました。
2010/10/20 Ver 2.530
隠しフォルダー や 隠しファイルはメニューの対象から外すコマンドラインオプション /-H を新設しました。
2010/12/20 Ver 2.540
コマンドラインオプションの /-NET→/-N /-VF→/VF にして大文字小文字の区別を無くしました。
エラーでもないのにエラービープが鳴る事が有るのを修正し 環境によってはメニューと自分のウィンドウ位置が
ミスマッチになってしまう事を無くしました。
他のプログラムに制御を移しその結果を待つのを確実にシステムに制御が移り 結果が出るのを待機出来る
コードにしました。
2011/03/03 Ver 2.542
フォルダーを開ける所とプログラムを立ち上げる所をよりシステムとの親和性が高い物にしました。
連続して フォルダーを開ける部分を同じ名前で他の種類のファイルと混同しない物にしました。
2011/05/06 Ver 2.544
フォルダー以下を連続して開けた時にリソースを使いすぎてしまう事が有るのを緩和して不具合が起こり
にくい様にしました。又 自分の設定ファイルの為のエディターの立ち上げ等もシステムとの親和性が高い物に
しました。
2011/06/28 Ver 2.545
フォルダー以下を連続して開ける方法を変えてリソース不足から来る不具合を起こらない様にしました。
2011/09/15 Ver 2.550
バージョン情報 の下に出る 良く使う フォルダーやファイル の SbFolderVF.txt の仕様を変え
作成の効率が良く より自由に 解りやすく編集できて セパレーターも認める様にしました。
古い SbFolderVF.txt は とりあえずタイトル表示用の行頭の * を @ に変えて コラム変えの空白行は ! に
して下さい。
2011/12/02 Ver 2.552
キーが押されるのを検出するのと押されたキーを待つ所を整理して場所によっては 1 コールで済む様に
効率化しました。
同梱の SbFolderをフォルダーに関連付けをする SbFolder.inf を単に関連付けをするだけに留め
関連するファイルは何処に置いても良い様にしました。
2012/06/15 Ver 2.554
連続して色々なアイテムを開けた時に一つ一つが確実に開いた事をプロセス情報から確認する事にして
複数連続して開ける時の安全性と安定性を高めました。
2012/09/13 Ver 3.000
トップメニューに経歴ファイル(フォルダー) の SbFolder が最近開いたアイテムの 経歴メニューを加えました。
又 此を無効にするコマンドライン /-R それに加え立ち上げ時の ドライブの メディアチェックを省略する
/-M を新設しました。
2012/09/28 Ver 3.002
経歴メニュー の位置が間違い易かったので ネットワークの後に変えました。
ヘルプに経歴メニューをクリックした時の説明を加え 又 此のメニュー作成の効率を良くしました。
2012/11/07 Ver 3.010
経歴メニュー のアイテムを削除出来る様にして 経歴メニューのクリックも + Shift でパスをコピー出来る様に
若干一般性を持たせました。
Inf ファイルの 右クリックからのインストールは SbFolder.inf だけは後の安全の為 %Windows%\Inf に
コピーする様にしました。
2012/11/11 Ver 3.011
拡張子の排除フィルター /.dll.txt 等の処理が無限ループになってしまうバグを修正しました。
2012/12/12 Ver 3.020
経歴ファイルメニューの表示数が常に最大36アイテムにするコードに変え 経歴ファイルの記録を最後のキー待ちの
間にする事にして時間の無駄を無くしました。又 経歴ファイル バージョン情報 を作成する時の ファイル確認の
効率化をして時間短縮をしています。
2013/02/09 Ver 3.030
Windows 8 でのメニュー色
MF_DRAYED MF_DISABLE が同じ淡色表示に統一
されてしまったのでファイル表示が 全て 淡色表示 になってしまう事に対処しました。
連続して フォルダー下を全て開いている時の キャンセルは Shift キーだけでなく ESC キーも入れました。
新しく開かれるフォルダー表示が確実にフォアグランドになる様に対処しました。
経歴ファイルのメニューの遅れが無く 速やかに作成出来る様に 待ち時間の時に準備をしておく事にしました。
2013/07/30 Ver 3.034
確認の為のコードの消し忘れを削除し あまりお勧めされない古い API を新しい物に変えました。
経歴ファイルメニューの表示数を最大40アイテムに増やし 長さも 72 文字まで増やしました。
2014/01/11 Ver 3.040
メニュー作成に時間がかかった時に砂時計カーソルが残ってしまう事が有るので此を防止するコードを入れました。
キーを離すのを待つ時に メッセージを処理消去する所のコードが自分が終了出来なくなる可能性が出てしまうのを
この関数と終了まわりのコードを変えて修正し キーバッファも貯まってしまう事をが無い様なタイミングにしました。
2014/04/10 Ver 3.050
CD 等の準備のかかるリムーバルディスクの認識に時間がかかって此とは関係のない 通常のドライブのメニューが
なかなか出なくなってしまう事を起きにくくしました。
経歴ファイルメニューの設定とメモリーの取得 読み込みをより効率の良い所でする事にして 一部時間短縮
同一アイテム検索の効率化 不必要なファイル書き込み操作も省きました。又 此のメニューの設定を無効にしていると
終了時にメモリーリークの出てしまう不具合も合わせて排除しました。
2014/06/28 Ver 3.054
グレーになっている ( 無効になっている ) メニューを再確認する時にこの上をカーソルが通っただけでは
確認動作を始めない様にして 意図に反して 無効な物を無駄に再開しようとして 此処で滞り 反応が
止まってしまう事を無くしました。経歴ファイルメニューを作成する時に余分なドライブチェックはやめて
無駄を無くしました。
2015/02/10 Ver 3.100
全ての Windows バージョンで クリックと同時に F2 若しくは 無変換 キーを押していると エクスプローラーの
右コンテキストメニューを出す様にしました。この為 あまり使用しなかった 開くダイアログ コマンド付加ダイアログは
やめました。クリックと同時に F3 キーで ファイルを開くプログラムの選択 ダイアログを 出す様にして 此も
バッファの関係で出ない事の有るのを修正しました。
ファイルの排除フィルター -S システムファイルは除くを加えました。後 クリップボードにパスファイル名を代入する時に
余分なクリップボードクリアーはやめにしました。
2015/05/05 Ver 3.102
グレーになっている ( 無効になっている ) メニューを再確認する時にマウスカーソルの位置の確認方法を
確実な物にしました。API Call の効率化の為 Windows NT 4.0 は動作対象から外しました。
2015/06/05 Ver 3.110
←→↑↓ 等の カーソルキーでメニューを操作をしている時に グレーになっている ( 無効になっている ) メニューを
再確認する時にマウスカーソルの位置と矛盾が出ない様に必要な時にはマウスカーソルを予め動かしておく様にしました。
DPI スケーリング は自身でする事を宣言し メニューの文字の滲みや メニューの高さ方向の数が OS の 仮想 DPI
スケーリング の 影響を受ける事の無い様にしました。
2015/10/15 Ver 3.120
ネットワーク上のフォルダーやファイルを開いた時には経歴ファイルリストには加えない オプション /-Y を付加しました。
2016/02/09 Ver 3.130
新たなプログラムを立ち上げた時にそのプロセスが取得出来た時には十分に待てる様に プロセスが取得出来ない時でも
有る程度は待つ事が出来る様にしました。
2016/06/20 Ver 3.200
COM 使用の宣言はスレッドでする事にして二重の無駄と忘れを無くしました。
立ち上げたプロセスを待った後に システムリークが出る可能性が無い方法に変えました。ネットワーク上の
ファイルを立ち上げる時の扱いも システムとの親和性を上げました。
続けて メニューを出す時の扱いを自分のウィンドウはそのまま使用して再制作の無駄を無くしました。
2017/01/15 Ver 3.220
指定されたファイルを選択して開ける時に必ず選択されて表示出来るる様に 常に新しいウィンドウで 開く
様にしました。又 開いた後の 意味の無くなった待機関数を呼ぶのをやめました。
バッファ取得で整合性が無く 不足してしまう可能性の有る箇所を修正しました。
2017/03/15 Ver 3.230
位置指定のコマンドライン解析をより安全性のある方向に変えました。
過去からのしがらみのある余分なメッセージを出すコードをやめて若干のサイズダウンをしました。
2017/04/20 Ver 3.240
マイコンピュータ指定のコンテキストメニューが出ない不整合を修正しました。
2017/05/30 Ver 3.260
コマンドライン /-M の範囲をリモートドライブにも広げて ネットワークが遅い 場合でもメニューがすぐに
出る様にしました。
SbFolderVF.txt の扱いも \\ で始まる 物 ドライブが CD-ROM Removal NetWork ドライブは 時間短縮の為
書いてある内容は フォルダーに限定する事にして 遅い物に引っ張られて反応が無くなってしまう事を
無くしました。
コマンドライン /-Y の扱いを 経歴ファイル のメニューには 出さないし 加えない 様にしました。
2017/12/15 Ver 3.280
フォルダーを開く エクスプローラーに渡すコマンドラインの ワードアラインを 調整して若干のサイズダウンと
効率を良くしました。
フォルダーを開けられなかった時に 此が落ち着くのを無駄に待ってしまうルーティンを無くしました。
2018/05/15 Ver 3.290
多少紛らわしくて危ない所の有った状態記憶用の変数の重複使用をやめて 独立させて安全側に振りました。
2018/07/30 Ver 3.300
スペシャルフォルダーを求めるAPI コールの戻り値 判断を修正して正しくしました。
2019/01/25 Ver 3.320
多数のフォルダーを開けた時に 個々の表示がフォアグラウンドが取得出来るまで確実に待つ様にして
タスクバーの切り替えワーニングが出るのを少なくしました。
又 リソースが少なく なった時の ワーニングの基準も見直して 誤認識を 少なくしました。
2019/02/15 Ver 3.340
ファイルアイテムのメニューで画面がいっぱいになり上のフォルダーメニューをカバーされて開けられなく
なった時に Space キーで 選択が有る無しに関わらず統一して表示しているフォルダーを開ける様にしました。
2019/07/10 Ver 3.360
メニュー高さ( 画面に収まる数 ) を最初に求める時に API の返す値の基準が Windows 10 1903 で変わった
ようなので此に対処しました。
深いフォルダーを最後まで追ってフォルダーファイル名を調べる時のパスバッファの余裕を増やして
安全性を上げました。
後 Windows 10 から ファイルののプロパティの詳細の表示アイテムが変わって Reverse M Botton の
識別がつきにくくなっていたので 製品名の中に Reverse M Botton を埋め込む事にしました。
2019/10/10 Ver 3.400
Windows 10 1809 から 違う環境の画面サイズ設定によってはとんでもない値を返す サイズ取得 API は
やめて どんな環境でも安定したサイズを返すであろう API を使用して自分のサイズを決める事にしました。
又 サイズが違っても出来るだけ違和感の出ないフォームカラーにしました。
異常に長いフォルダー名の為にメニュー幅が大きくなってしまうのを防ぐ SW /-L を新設しました。
2020/01/20 Ver 3.420
下部フォルダーがファイルだけの時にメニューで画面が一杯になった時に 縦の セパレーター ( バーブレーク)
をクリックする事でそのフォルダーを開く様にしました。
2020/04/15 Ver 3.440
Control + Shift フォルダーのクリックでフォルダー下部のフォルダー名 ファイル名をクリップボードに入れる
時に 排除フィルター /.* だけは有効にして フォルダー名 だけを取得出来る様にしました。
2020/07/30 Ver 3.500
マルチモニター環境にも対応し 表示位置指定 のコマンドラインも /-20,-200 等の 負の表示位置も認める
様に メニューの高さ 総個数も モニター毎に判断する様にしました。
メニュー幅が大きくなってしまうのを防ぐ SW /-L をファイル名まで拡張しました。
2021/01/20 Ver 3.540
連続して下位のフォルダーを開ける時のシステムリソース取得を API も含めて類推する様ににして 不適当な
メッセージを表示するのは無くしてシステムへの安全性も高めました。
意識的にメニューを消すのをより整合性があり確実性のあるメッセージポストに変えました。
新に何かを開いて待つルーティンを一元化して効率化とサイズの減少をしました。
表示位置指定 のコマンドラインの値の整合性を確認修正出来る様にしました。
2021/07/25 Ver 3.560
コマンドライン /.* で全ての通常のファイル( フォルダー以外 ) は数だけで メニューにしなくなる機能を
各フォルダーのポップアップを作る時に 変換キーで 反転出来る様にしました。
フォルダー以下がファイルだけでも 必ずファイル数を示すポップアップを作るオプション SW /+F を
新設しました。
2021/08/15 Ver 3.600
メニューを縦に一カラムで表示するオプション /-B を新設しました。
同時に 一カラムで 上下に ▲ ▼ が付いた時にはこの上にマウスカーソルを合わせるとその方向に
スクロール Shift キーでフルスピードに 又 PageUp PageDwon キーで表示メニューの Up Down が
出来る様にしました。
2022/02/15 Ver 3.700
メニューのアクセスキーが安定して効く様にしました。
Control キーでメニューを次の候補にする時のマウス移動の効率を良いものにしました。
オプション /-B は常に一カラムだと使い勝手が悪くなってしまうので三カラムに収まる時には通常通りとし
此を超える時だけ ▲ ▼ が付いた一カラム表示にしました。又 一カラム表示の時はフォルダー以下の
アイテム数は 1024 まで増やす様にしました。
一カラムで 上下に ▲ ▼ が付いた時にはこの近くの上下の二段のメニューにマウスカーソルを合わせると
その方向に スクロールする様にして スピードは二段のメニュー内のマウスカーソルの位置によって変えて
マウス操作だけでスクロールスピードをコントロール出来る様にしました。( 一番目と二番目のメニューの
境ぐらいで最高速でが出てそれから離れる位置で徐々に遅くなっていきます。)
したがって 上下端の ▲ ▼ 付いた所は マウスの左クリックで通常通りの一行スクロールとし 両端の二文字
ぐらいの部分のクリックは此のフォルダーを開ける操作にしました。
メニュースクロールをさせるメッセージは プログラム内部で完結出来る物にして他のプログラムに影響を
与えない 安定して動作する物に変えました。
メニューで画面が1杯になる事の可能性を減らすために メニュー文字数の デフォールト計算数を 若干増やし
ました。( Total メニュー表示数は減るかも知れません。)
/-B の使い勝手が良くなったので SbFolder.inf での インストールは /-B-R 付きでする事にしました。
( 気にいらない方は SbFolder.inf の中の /=R-B を /-R とか無しに変えてインストールして下さい。)
2022/05/30 Ver 3.720
メニュースクロールに関係しない Key Up メッセージは無くして余分なメッセージの 交錯を減らしました。
キーが押されて離されるのを待つ間のメッセージを確実に流せる様にしました。
すぐに終われない処理の時に自分のテキストがそれに引っかかって変わらないのを修正しました。
2022/12/25 Ver 3.740
Windows 11 の 22H2 からメニューの高さと画面のサイズの調整値が若干変わって来ているので此に対処しました。
同時に ▲ ▼ が付いたメニューのスクロール位置は上下の端のメニューだけにして解りやすい様にし 画面サイズに
よってスクロールスピードが変わらない様にしました。
SbFolder.inf からの エクスプローラー右コンテキストメニューはアイコン付きでインストールする事にしました。
2023/02/15 Ver 3.760
画面の 上下のサイズが小さい環境で 経歴アイテム がオーバーしてしまう事に対処しました。
▲ ▼ が付いたメニューのスクロール位置は上下だけでなくメニュー中心からの左右の位置も加味して
スクロールスピードが調整しやすい様にしました。
スピードが速い PC で Page Up Page Down キーで ▲ ▼ が付いたメニューのスクロールをさせると
キーを押している内に 何回でもスクロールしてしまい 行き過ぎてしまう事を防止するコードを入れました。
Windows11 では メニューの全体高さの扱いが変わり シングルコラムでは結構余裕を持って ▲ ▼ を付けて
しまう様で それが付かない様な対策を講じ 付いても通常のクリックで済ます事が出来る様にしました。
2023/03/20 Ver 3.800
/-B SW での ▲ ▼ が付いたメニューのスクロール の方が扱いやすくなり 画面もすっきりするので /-B SW の
操作を Default 仕様にして今まで通りの 多数コラムのメニューは /+B SW に変えました。
此の為 SbFolder.inf ファイルでの インストールも /-B SW は無くしました。
▲ ▼ が付いたメニューのスクロール が最初とスクロール方向を変える時に途中で終わってしまい足りなかった
ので確実にアイテムが新しくスクロールする様に修正しました。又 Page Up Page Down の キーが出しにくい
環境でも便利な様に 右Shift 右Control キーで代用出来る様にもしました。
表示している一番下のメニューを1つだけ消すのを Control キーから Delete キーに変えました。
Windows11 では シングルコラムでの余裕が足りず ▲ ▼ を付いてしまうのを無くしました。
2023/07/10 Ver 3.820
自分のパスと コマンドラインを取得する所を新たな物にして 独立性を高めパスを再使用する時の 間違いを
少なくしました。又 自分のパス最終の値の再確認も入れて安全性を高めました。
ヘルプファイルと バージョン に出る メールアドレスを最新の物に変えました。
2023/09/30 Ver 3.840
Ctrl キー + フォルダー選択でそのフォルダー以下を全て開ける時にシステム リソースを計る時間が
短すぎてすぐに警告を出して終了してしまう不具合を修正しました。
2024/02/20 Ver 3.900
経歴アイテム のメニューの削除に 単に 選択アイテム上で Delete キーを 押すだけの操作にしました。
先行して記憶した 5 Item を有効にして終了する時の Shift キー の 説明と同時に Alt キーでメニューを
キャンセルしても 記憶した 5 Item は有効にしました。
経歴アイテム メニュー の扱いを柔軟にして表示する時のフィルターでの確認を無くして作成時のスピードアップ
をし メニューアイテムの適合性は 実際の選択時でする様にしました。
CD ROM ドライブの 操作は 経歴アイテム には入れない様にしました。
同梱の SbFolder.inf も Win 64bit 環境で正しく アンインストール出来る物にしました。
2024/07/15 Ver 3.920
CD ROM ドライブだけでなく Removable ドライブ ( USB メモリー等 )のパス操作も経歴アイテム には入れない
様にしました。
2024/12/20 Ver 3.940
Windows 11 24H2 になって NetWork アクセス条件が厳しくなり 今までの ネットワーク以下の クライアント名を
列挙する API が効かなくなって Root メニューでの 'ネットワーク が時間が掛かったり 出来なかったりする
ので Default は 'ネットワーク は出さずに 必要な時には /+N のコマンドラインオプションに変えました。
最新版 12/20 2024 Ver 3.940 Size 37kb SbFolder のダウンロード
左手でマウスをご利用の方用に左右ボタンの反転したSbFolder.exe だけの ファイル 11 kb
( 常駐型左右入れ替えソフトでは反転しませんので通常の SbFolder.exe と入れ替えて使用して下さい。)
SbFolder.exe のダウンロード
( バージョン情報 の コメント に Reverse M Botton と出ます。 )
SubFolder 常駐しているので エクスプローラーの右コンテキストメニュー
を より安定して出す事が出来ます。