CabFixer 最新版 09/28 2009
フォルダーの表示を統一表示 ( 大きいアイコン/小さいアイコン/一覧/詳細 に自動的にする
SetDetailの 汎用版です。コマンドラインより指定するか メニューより指定する事ができます。
SetDetail と比べると機能も多くずいぶん色々と便利に使用できる次のような機能も付いています。
・ ダイアログボックス等が出た時にデフォルトボタンにマウスカーソルを持っていく機能
・ インターネットで出る バナーを消す機能
・ デスクトップアイテムをメニューから実行する機能
・ 有る特定の ウィンドウをトップモーストウィンドウ ( 下に隠れないウィンドウ ) にする機能
・ フォルダー に関連する便利な機能
・ ウィンドウ終了時に全てのフォルダーを閉じて終了する機能
・ 開くダイアログ に関連する便利な機能
・ 左クリックで開いているフォルダーの内選択した物をアクティブ に したり/ 終了させる機能
・ フォルダーだけでなく 全ての ウィンドウを 対象に 最小化 / アクティブ化 / させたりするタスクスィッチャー機能
等 スタートアップで常駐させて便利なようになっています。
詳細表示 だけです良いとかタスクスィッチャー機能は必要ないと言う方は
より機能を絞った SetDetail も有ります。 SetDetail
1998/12/31 Ver 1.08 SetDetail の汎用版として Ver 1.08を引き継ぎ初公開しました。
1999/02/23 Ver 1.13此処までは Visual Basic 版です。
1999/03/20 Ver 2.00 Visual Basic 版の CabFixer 1.13 と同じ物を C++でプログラムしてランタイムが
必要ないようにしました。
Ver 2.07 1999/04/22 Internet Explorer 5.0 に対応しました。
Ver 2.12 1999/06/20どうせ開かれる Windows をモニターしているのだからと言う事でダイアログボックス等が
出た時に デフォルトボタンにマウスカーソルを持っていく機能を加えました。 Left メニューに全て最小化を 加えました。
Ver 2.16 1999/09/10 内部のメッセージの値を安全性の高い物に変え 新しいオプションを加えました。
Ver 2.20 1999/10/14 タスクスイッチ機能 エッジメニュー機能 を加えました。
Ver 2.201 1999/10/20 左メニューの最小化されている項目をチェックからグレー表示に変えました.。
Ver 2.21 1999/11/03 インターネットで出てくる バナーを消す機能を付けてみました。
Ver 2.22 1999/12/13 希望表示になっているフォルダーは表示のチェンジをパスするようにしました。
Ver 2.23 2000/01/03 デスクトップアイテムもメニューから実行できるようにしました。
Ver 2.24 2000/01/07 デスクトップ範囲外の Window のボタンにマウスカーソルを置こうとしたり他の
ソフトで置かれたりする事から来る余分なメニュー表示を避けるため ボタンに移動のチェックを厳しくし
ボタンの判定を速くしています。
又 意図しない誤動作防止のためエッジメニューの左端の上下端のタスクバー幅ぐらい範囲からはずしました。
Ver 2.241 2000/01/14 効率のための小改良と表示変更の確実化です。
Ver 2.242 2000/01/23 CPU 占有率の大きなプログラムを動かしている時に内部の Idle Loop を待つ所から
抜け出せない事が有るのを防止しました。
Ver 2.243 2000/01/27 Window NT の時に レフトメニューが Shift を押したときに変わりにくいのを改善し
又 最下部の説明も分かり易くしました.。
Ver 2.244 2000/03/03 IE 5.01 のバナー消しに対応しました。
Ver 2.245 2000/04/24 デスクトップアイテムの開かない事が有るのに対処し 僅かですが無駄なコードの
削除をしました。
Ver 2.246 2000/05/02 気の付いた無駄なコードの改良をして僅かですが常駐量を減らしています。
Ver 2.247 2000/05/08 デスクトップアイテム名を取得する所を少々改良をしました。
Ver 2.248 2000/05/22 フォルダー表示を変えた後の確認が早すぎる為の余分な動作を押さえました。
Ver 2.250 2000/07/28 デスクトップアイテム数の制限を無くしメニューにショートカットキーを加えより素早く
選択できるようにしました。
Ver 2.252 2000/08/09 画面表示機構 とフォルダーの数によっては全てのフォルダーが表示されない
事があるのを修正しました。
Ver 2.253 2000/09/12 環境によってはエッジメニューの出る所がおかしいので修正し出る所とマウス
カーソルの場所も調整しました。
Ver 2.254 2000/10/22 デスクトップトップアイテムに マイ コンピュータを加えました。その他細かな改良をしました。
Ver 2.255 2000/11/01 エッジメニューが 何かの拍子に出てしまうのを防止する為 右隅の範囲で動いた
時は一度 右隅を出ないと出ない様にしました。
Ver 2.256 2000/11/16 エッジメニューの許容範囲を緩めサイズの大幅減少をしています。
Ver 2.260 2000/11/18 表示を変える部分を内部メッセージに変えてスピードアップ 又 動作の制限を無くしています。
又 リクエストがあったので 開く を詳細に を加えました。
Ver 2.261 2000/11/28 開く を詳細に をシンプルにして NT 4.0 でも OK にし ボタンに移動 は最初にフォーカスの
有るボタンを探すようにしてフォーカスが有れば孫ボタンでも素早く反応出来るようにしました。
Ver 2.262 2000/12/01 表示変更する相手がはっきりしない時はもう一度廻すようにして反応を速くし
又 タイマーだけでなくメッセージによってもすぐに表示変更する様にしました。
Ver 2.263 2001/02/11 トリッキーな API の使用をやめコード効率を良くしました。
Ver 2.264 2001/03/09 タスクトレイアイコンクリック時の不具合の修正をしました。
Ver 2.265 2001/03/15 自己満足的なコードの整理です。
Ver 2.266 2001/03/27 メニューの縦に並べる数の決め方を改良し タスクリストの作り方を変えてメニューを
折り返して表示するようにし表示リスト数を増加させリソースも少なくしました。
Ver 2.267 2001/05/19 デスクトップアイテムのメニュー タスクリストメニューの作り方を効率の良い物に変え
スピードアップをし 後 文字列等はリソースファイルにまとめ細かい所を改良して軽くしています。
又エッジメニューのキャンセルも他の所のクリックで確実に出来るようにしました。
Ver 2.268 2001/05/23 デスクトップアイテムのメニュー作成を後でする様にして立ち上げ時の負荷を軽減し
メニューが出た後で高さを確認する様にしメニューを縦に並べる数も正確にしました。
Ver 2.269 2001/06/27 フォルダーを詳細表示にすると同時に 名前 サイズ 等のコラムの幅も内容に合わせて
調整する様にしました。
Ver 2.270 2001/06/30 コラムの幅の自動調整も良かったのですが1つでも長い名前があったり 表示に時間の
かかる フォルダーが有ったりすると大きく外す事が有ったのでコラムの幅は適当な長さ( ? )で Fix する事に
しました。その他小改良。
Ver 2.273 2001/07/10 開くダイアログが小さく見通しが悪いと思っていたのとリクエストが有りましたので 開く
を大きく のオプションを付けました。
Ver 2.274 2001/07/13 コラムの幅の調整は適当な幅が難しく( 個々に違う )のと反応が冗長なのでやめました。
Ver 2.276 2001/08/19 Win 2000 環境でマウスの右クリックでメニューが消えないのに対処し デスクトップ
アイテムも個々のユーザーに加え AllUser の分もサーチする様にしました。又新たに開くフォルダーの
一行目の最初のコラムにマウスカーソルを移動する機能をオプションにし コマンドライン -NO を加えました。
Ver 2.281 2001/08/28 フォルダー表示の左側に Tree View を 出すTreeView 表示 を入れ コマンドライン
オプション -TV を加えました。
2001/10/30 Ver 2.283 フォルダー表示の遅い環境 ( ネットワーク時など ) でも 此に反応する様にしました。
又 開を大きく がダイアログの構造によっては配置がおかしくなるのに対処し 後 コードを見直して効率化
サイズの減少をしました。
2001/11/11 Ver 2.292 開くフォルダーのサイズの変更機能を付加し Win 2000 ではタスクトレイ常駐時に Active
Window をミス易いのを確実な物に修正し 検索画面 をフォルダー表示ウィンドウと誤認識しないようにしま
した。全体的に内部の文字列比較コード 余分なコード リソースの取り方等を見直してサイズを減少させて
います。後 バナーを消す / エッジメニューを内部で取り違えて動作がおかしくなっていたのを修正しました。
2001/11/15 Ver 2.293 自分のメニューを消すコードを他に影響の無い物にして設定変数の取り方判断を変えて
サイズの減少をしています。
2001/12/05 Ver 2.294 開くフォルダーのサイズの変更に高さ方向は合わせないオプションを加えました。
又 必要のない メッセージを廻さない様にして少しでも動作を軽くしました。
2001/12/15 Ver 2.295 エクスポローラー ( 左に TreeView の有る状態 ) で開く時に違うクラスを返すので 此を
認識できる様にし 此処の認識の効率をアップしました。
2001/12/17 Ver 2.300 Global 変数を Local 変数にしてしまったので バナーを消す / 開く を詳細に /
開く を大きく が利かなくなっていたので此を修正しました。
又 新しいオプション コラム幅の調整 機能を付けました。
2001/12/21 Ver 2.301 終了時の全てのフォルダーを閉じるのが利かなくなっていたのを修正しました。
2002/01/05 Ver 2.302 デスクトップのパスを取得する方法を変えて デスクトップメニューをより確実に作れる
様にし 又此の部分のサイズをかなり削る事が出来ました。その他 文字列を探す所を効率スピードアップ
サイズの減少をしました。
2002/01/10 Ver 2.303 Ver 2.282 で採用した新しい API が Win 95 NT 4.0 では無くてこれらの環境では立ち
上げ時に Fail となるのを修正しました。
2002/02/09 Ver 2.304 新規フォルダーの設定の無効有効が利いていなかったのを修正しました。
又 フォルダー表示かどうかを判断する時により確実安全な方向に振りました。
2002/04/30 Ver 2.305 新たに見直して重複しているコードの整理要らないバッファ等を削りサイズのダウン
をしています。
2002/06/03 Ver 2.310 デスクトップ タスクメニューを作る時に使用するメニューの高さを取得する方法を
変えて此処をすっきりさせサイズもだいぶ減少しました。
2002/06/28 Ver 2.312 メニューを出す前に自分をしっかりアクティブにしておかしな挙動がない様に
しました。又 メニューの選択内容によりターゲットウィンドウをはっきり把握できる様に
ターゲットウィンドウの色の切り替えをはっきりしました。
その他余分なコードを削って若干のサイズダウンをしています。
2002/08/23 Ver 2.320 新しいオプションの StatusBar 表示 を加えました。
2002/10/17 Ver 2.321 極端にシステムリソースが減った時の動作安定のため内部バッファを少々増やし
ました。
2002/12/05 Ver 2.330 此をトップに の動作を自分がした物だけでなくその時の状態で判断する様にし他の
プログラム等で 最上位に セットされた物も解除出来る様にしました。又 此に伴いマウスカーソルが来た
時に 此の最上位 Window を一番下に置く動作も加えて参照中の作業をし易くしました。
2003/01/20 Ver 2.331 マウスカーソルが来た時に 最上位 Window を一番下に置く動作を Ctrl の押し
続けによって 一時的に キャンセル する機能を付けました。
2003/03/31 Ver 2.332 Win API の整理で多少のサイズダウンをしました。
2003/04/09 Ver 2.333 デスクトップメニューを作る/作動させる所の共通部分を共用しサイズダウン
カーソルをボタンに動かす所のコードを変えて若干のスピードアップをしています。
後 Windows の 終了時の処理を整合性の有る物にしています。
2003/06/05 Ver 2.334 此をトップに の動作がうまく行かない場合の有る可能性を排除し メニューを
作る 削除する所の効率をアップしました。位置の整列の時に基準フォルダーをアクティブ
色に示さなかった不具合 その他細かい修正とサイズダウンをしています。
2003/06/22 Ver 2.341 一番良く通る フォルダーウィンドウかどうかを確認する所を効率の良い物に
してスピードアップし常駐時の負荷を軽くしました。
( 大体 8 割強アップで 13 個程度扱うのに1ms 程度の違いが出ています。)
又 全てを閉じる を Shift を押した時に 全てを前面に の機能を新設し 又終了する時の
フォルダーウィンドウを閉じる閉じないも Ctrl 押しでリアルタイムに解るように変えました。
左クリックのタスクメニューも 左右クリックの役割を若干改良して使い勝手を良くしました。
後 コマンドラインオプション -NO -AL が効かなくなっていたのを修正しました。
2003/11/15 Ver 2.342 デスクトップアイテムメニュー タスクリストメニュー を作る所を若干ですが
スピードアップしました。
2004/01/13 Ver 2.344 Ver 2.343 では Win 98 以前ではサポートされない API を使用していたので
此をやめました。
2004/02/01 Ver 2.345 タスクトレイのアイコンをクリックするタイミングによっては最後にアクティブ
だった Windows を見失って メニューの有効 無効の整合性が取れなくなるのを修正しました。
又 メニューを出す前に自分をアクティブにするのを 単純にして 他に影響が出る可能性を
排除しました。
2004/03/14 Ver 2.346 メニューを出す前に自分が確実にアクティブにならずに他の場所をクリック
してもメニューが消えなかった不具合を解消しました。残して閉じるが全てを閉じていたバグを
修正しました。タスクトレイのアイコンをクリックする時にボタンを押してから話すまでの間に
場合によっては最後にアクティブだった Windows を見失って メニューの有効 無効の整合性が
取れなくなるのがまだ残っていたのを修正しました。
2004/06/09 Ver 2.347 Window が前面にでた時と全てのWindowを列挙して 動作対象かどうか
調べる所を一つの API Call にまとめて動作の効率化と若干のサイズダウンをしました。
2004/09/11 Ver 2.348 新しく開かれた ウィンドウが目的の ウィンドウかどうか チェックするコードを
より確実に速く処理する為に クラス名取得文字列サイズの比較を最初に加える事にしました。
又 ハングアップしている プログラムによって自分が巻き込まれない様により安全なメッセージ
送信 API を使用する様にしました。
2004/09/16 Ver 2.350 これまでは 一度フォアグランドになった Window だけを追いかけていてこれが
表示に時間がかかり ( ネットワークや ファイルの多数の読み込みの遅いドライブ等 ) 此の Window に
次のウィンドウがフォアグランドになると 前の Window についいては打ち切りになって反応しなく
なっていましたが 内部的にメッセージを廻し続ける事で 一度フォアグランドでキャッチした物に
ついては 最長 18 秒ぐらいフォアグランドでなくなっても追跡出来る様になりました。もちろん
プログラム的にはウィンドウの数の制限も有りません。内部的にメッセージを廻し続ける事に
したので 条件に合ったときには今まで以上に速やかに反応出来る様になりました。数の制限も
無くなったので連続して開かれる時の取りこぼしも少なくなりました。
左クリックメニューの Shift + 右クリックで その Window を最小化する機能で 最小化ボタンを
持たない Window に対して最小化命令を送って面白からぬ事を避けるようにこの様な Window は
最小化からの対象から外しました。
2004/09/28 Ver 2.352 同時に廻っている違う Target Windows のメッセージの為にこの部分をより実状に
合った物にして 早くから 排除すべき Windows をふるい落とす様にしました。
又 メッセージが廻っている時には余分な事をしないようにしています。
フォルダーウィンドウを列挙する所を 此まで 3 パスでしていた所を 1 パスでする様にしたり
ウィンドウを確認する所を二つの関数でしていた所を一回ですます事が出来る様にしたりして
速さサイズ共に改善しました。エッジメニューを Ctrl キーを押していると出ない様にしまた。
2004/10/12 Ver 2.353 フォルダーウィンドウだと確認する関数の中で使用していた Win API は遅いのが
解ったので自前の物に変えて この部分は 7倍以上の Speed Up をしました。
又 フォルダーウィンドウを列挙するタイミングを変えて余分な事が起きにくくしました。
2004/11/02 Ver 2.354 TreeView 表示 / StatusBar 表示 は メニューに チェックの有るときだけこれらが
表示されていない時だけ働いていましたが チェックの有る時は表示 無い時は非表示と動作を
きっちり分けました。此に伴い 全て詳細表示 に +Ctrl キーでこれらを全て無くしたり 表示したりする
機能を付けました。
2004/11/21 Ver 2.355 構造の違う開くダイアログを無理に大きくしようとして此の ウィンドウをおかしく
してしまうのを避けるため此の構造の違う開くダイアログ は対照から外しました。
2004/12/01 Ver 2.356 TreeView 表示 にチェックが無い時には新しく開くフォルダーの表示にTreeView が
表示されていても此を無視する様にしました。
2004/12/21 Ver 2.360 右クリックメニューに現在アクティブな プログラムを立ち上げたファイルの有る
フォルダーを開く 此のファイルを加えました。
2004/12/26 Ver 2.361 何十回に一回ぐらいの割合で立ち上がってくる Window の構造が安定していない時に
此の構造を見て関係無しと判断して見過ごす事が有ったので此を修正しました。
2005/02/08 Ver 2.362 ボタンのクラス名が長く BUTTON の ID が得られずに ボタンに移動がうまく行かない
ダイアログに対処しました。又 ボタンでなくてもボタンの代わりをさせている STATIC にも
カーソルを持っていく様にしました。
2005/04/21 Ver 2.363 メニューの左クリックキャンセルをサブメニューの出ている時でもすぐにメニューが
消えるようにしました。フォアラグランドが取れずにタスクバーのアイテムが点滅するのを防止
しました。メニューが出る前の余分なコールをやめて出来るだけ他のプログラムに影響を与えない
様にし これと余分な条件 関数同士の重複コードを削除してかなりのサイズダウンをしました。
2005/05/12 Ver 2.370 Win XP の検索ウィンドウの表示が常にアイコンから始まってしまうので此も
統一表示の候補に入れて立ち上がる時の一回だけは統一表示にする様に変えました。
2005/05/24 Ver 2.371 反応の無いプログラム( ハングアップしている物 ) に対して此に巻き込まれて
自分が固まってしまう事の無いようにしました。
2005/07/18 Ver 2.372 ディスクトップフォルダーを確認する所を効率化してサイズダウンをしています。
2005/09/07 Ver 2.373 Windows が終了時にフォルダーを閉じても 終了時のタイミングによっては閉じて
終了したことにならずに 次回起動時にこれらを開いてしまう可能性をできるだけ防ぐようにしました。
2005/09/22 Ver 2.374 Win 95 NT ではサポートされない API を使用して Win 95 NT 環境で立ち上がらなく
なっていたのを修正しました。
2005/10/09 Ver 2.375 デフォルトボタンにマウスカーソルを持っていく機能が認識違いでおかしな所に
マウスカーソルを飛ばしてしまう可能性を一部排除しました。
2005/10/21 Ver 2.380 M Botton 使用 のメニューの新設をして コマンドライン指定のプログラムを立ち上げる
事が出来るようにしました。此に伴い コマンドライン -MB -ACT: に対応しました。
ボタンに移動 のボタンタイトルの比較の文字の始まりの間違いから起こる誤動作を修正しました。
2005/11/13 Ver 2.390 立ち上げ時の関数を一つ減らして多少なりとも速く サイズも押さえました。
此のファイル の動作をより正確に判断するコードにしました。
2006/03/09 Ver 2.400 開を大きく の動作をより汎用性の有る物で安全で確実なコードに変えました。
常に使用している 文字列検索 クラス名検索コードを効率の良い物に変えて サイズを押さえ
ウィンドウの認識スピードを大幅に改善しています。
2006/04/13 Ver 2.402 検索ウィンドウ が最初に開かれた時の StatusBar も表示変更範囲に加えました。
此と共に 検索ウィンドウ に余分なメッセージを送ってしまう可能性を排除しました。
又 位置の整列 が選択された時に ターゲットウィンドウが示されない不具合を修正しました。
2006/04/21 Ver 2.410 デュアルモニターに対応し此の辺りのコードを若干効率化しました。
又 Local と Global との取得重複を無くしてかなりのサイズダウンをしています。
2006/04/29 Ver 2.411 Windows XP でフォルダー表示の立ち上げられ方によっては 違う クラスを返す
事が有り 此を認識しないのに対処しました。又ディスプレイの解像度を変えられた時に余裕を
持つようにして取り違えを無くしました。
2006/07/17 Ver 2.412 バナーを消す を有効にしている時でも 無変換キーを押していると 消さない様に
しました。
2006/07/21 Ver 2.413 バナーを消す を無変換キーを押して無効にして開いた ウィンドウを一つだけは
記憶する事にして 次にアクティブにされた時にも消されない様にしました。
2006/10/29 Ver 2.414 デスクトップアイテムメニューは表示される前に必要な時だけ作成する事にして
常に最新の物を表示する事にしてリセットを必要としなくしました。又 メニューの縦の数も正確に
取得する様にしました。
2006/12/30 Ver 2.415 デスクトップフォルダーは最初のメニューの立ち上がった時に一度だけ取得する
様にして その後の スピードアップ メニュー作成 解析実行の手間を減らしました。又アイテムの
より長い名前にも耐えられる様にしました。
2007/01/16 Ver 2.416 デスクトップフォルダーを探す始めとメモリー解放を若干効率の良い物にしました。
2007/03/04 Ver 2.417 バナーを消すの バナーの判断が実状と合わなくなって来て消す物が多すぎる様に
なったので此処の判断のパターンを変えました。
2007/04/19 Ver 2.420 デスクトップのメニューを作る前にメニューリストをオンメモリーで処理するように
して負荷を軽く必要メモリー量も減らしました。
2007/09/11 Ver 2.421 デスクトップのメニューをポップアップの度に作ってしまう無駄を無くしました。
又 メニューを作る所と実行する所を切り離してメモリーをその都度確保する無駄と処理コードの
条件分岐を減らしました。
2007/12/03 Ver 2.422 デスクトップのメニューのマイ コンピューターを開くのをより汎用性の有りサイズも
小さな物に変えました。
2008/02/07 Ver 2.423 デスクトップメニューを縦に並べる数が画面のサイズ変化には追従する様になって
いたのですが此をメニューフォントのサイズ更新にも追従する様にしました。
2008/02/17 Ver 2.430 内部コードの効率化の為に 現在使用中の Win 95 なら 動くと思いますが 公式的には
Win 95 は適応外としました。
2008/03/27 Ver 2.432 デスクトップに同じ名前で違う拡張子のアイテムが有ると後の方の物をデスクトップの
メニューから指定できないのでデスクトップメニューは拡張子付きで表示する様にしました。
2008/11/12 Ver 2.434 メニューを出す時に自分が フォアグラウンドになれないでずにメニューの動作が通常と
違ったりキー入力を受けていなかったりする事があったので自分が確実にフォアグラウンドになる為の
コードを付加しました。
2009/05/04 Ver 2.500 コマンドライン解析部分を若干ですが効率化しました。
Windows 98 用のメモリマネージャー用の読み込み時間短縮オプションをやめてアプリケーションのサイズ
( ディスク サイズ )を縮小しました。
2009/09/28 Ver 2.510 自分が終わる時 Windows がシャットダウンする時の処理をより直接に行う様にして
此処のパスを簡潔化しました。特に Windows がシャットダウンする時は同じ処理を2回していた無駄を
無くしました。
最新版 09/28 '09 Ver 2.510 Size 32 kb