CabFixer

最新版 05/05 2024
【概要】
 このプログラムの主目的は Windows XP までは 新しく開かれたフォルダーを自動的に統一表示にする 物でしたが Windows Vista から表示方法が変わり 又 セットした表示も安定して持続する様になり此の プログラムの最初の主目的からは外れてきたのですが 他の 便利機能は捨てがたく 統一機能は Win XP 以前だけに絞る事にしてリファインしました。
また タスクスイッチャー 機能もフォルダー重視から全てのタスクを対照とする TaskSwch と同様な 機能にして汎用性と使い勝手を高め 左クリックメニューに振り付けてあります。

taskmenu.gif 左クリックタスクメニュー表示

詳細表示だけで良いとかタスクスィッチャー機能は必要ないと言う方はより機能を絞った SetDetail も有ります。

【動作環境】
日本語 Windows 98 / 2000 / XP / Vista / 7 / 8 / 10 / 11 ランタイムは特に必要有りません。
( フォルダーの統一表示は XP 以前だけが 有効です。)

【インストール/アンインストール方法】
レジストリーは使用しませんので CabFixer.exe CabTask.exe CabFixer,chm と CabFixer.txt それに作成した ショートカット等を削除して下さい。

【使用方法】
同梱の CabFixer.chm をお読み下さい。特に立ち上げ時の コマンドラインの所が設定ファイル代わりになります。

【注意事項・制限事項】
Windows Vista / 7 / 8 / 10 ではフォルダー表示の内部構造コマンドが変わっているので フォルダー表示を 切り替える事が出来ません。

【使用に関して】
  1. このソフトは動作不良もしくはバグなど無い事を期待されて作られてはいますが 製作者は 本ソフトウェアに関して他の環境での動作保証は致しかねます。
  2. 製作者は本ソフトウェアにより利用者に損害が生じても責任を負わず一切の賠 償等は行いません。ただし ご意見 提案 動作不具合報告等は歓迎いたします。

【履歴】
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回していた無駄を 無くしました。
2010/04/28 Ver 2.512
フォルダー表示が最大化されている時の事を考慮に入れていなかったので おかしな表示になるのを防ぐ為 サイズの調整と位置の整列から最大化しているフォルダー ウィンドウは外しました。
2010/10/06 Ver 2.520
高さがスクリーンの大きさの 2/3 以上有るフォルダー表示ウィンドウは サイズの統一 動作からは 外す事にしました。又 相手の表示変更動作を待つ所をより確実に待てる様にしました。
2011/01/23 Ver 2.522
Windows 終了時に開いている全てのフォルダーを閉じて終了する設定の時にフォルダー数や タイミング フォルダ オプション の設定によっては次の立ち上げに再現してしまう不具合若しくは 各フォルダーの設定を記録できないで ウィンドウがシャットダウンしてしまう事が無いように最終のタイミングを十分に取るようにしました。
ハングアップしているウィンドウをアクティブにしようとして自分が巻き込まれない様にしました。
2011/05/01 Ver 2.530
此のファイル のコードを効率の良い物にしてサイズダウンをしました。何カ所かの フォルダーを開く所 プログラムを開く所をよりシステムと親和性の有る方法に換えました。
2011/06/20 Ver 2.540
フォルダー や他のプロフラムを閉じる時にダイアログ等を出している時でも順序だってそれらを閉じて 処理出来る様にしました。高さがスクリーンの大きさの 2/3 以上有るフォルダー表示ウィンドウの サイズの統一 からの除外は無しにしました。
2012/02/01 Ver 2.600
フォルダー の表示形式の統一は Win Vista 7 では行わない事にして 余分な所を削りました。 左クリックメニューで出る タスクリストは TaskSwch で出るアイコン付きの物にして使い勝手 解り 易さ 機能を高めました。
2012/03/07 Ver 2.610
メニューの動作とタイマーの動作が交錯しない様にメニュー動作がきちっと終了した後で タイマーをスタートする事にしました。バージョン + Shift での機能の再構築の範囲を拡大して よりスタートからに近い動作にしました。
マウスの ミドルボタン使用時の反応を良くし より確実に 動作する様にしました。後 内部の関数を整理する事でサイズの減少をしています。
2012/06/30 Ver 2.612
タスクメニューが前回の終わり方によっては 希に重複描画を避ける為のコードと重なって 立ち上がった時にアイコンと文字が描かれていない事が有る不具合を修正しました。
2012/11/02 Ver 2.700
設定のメニューは設定メニューを新設してこの下に纏める様にして機能のメニューと分ける様にしました。 ポップアップブロッカーは現状では各ブラウザーに付属しているので 機能の バナーを消す はやめて エッジメニューを エッジタスク エッジメニューと分けて設定出来る様にしました。
此をトップにの Control キー と機能が解りにくかったのでリアルタイムにメニューが変わる様にして この辺の機能も整理しました。後 気の付いた仕様の不整合や内部的な無駄なコードを整理しています。
2013/01/20 Ver 2.710
Windows 8 で 見えない UI プログラムを タスク に入れてしまう事を 防止する様にしました。
文字列を探すコードを効率のよい物に換えてサイズダウンし コマンドラインの解析もより 柔軟性の高い物に しています。
デスクトップメニュー作成時に隠しファイル属性の物は排除にして余分物が入らない様にしました。
2013/03/27 Ver 2.720
フォルダー表示の高さが画面の 2/3 以上有る表示は統一表示 サイズの統一からは除く事にしました。
タスクスイッチ機能で必要のない他のウィンドウをアクティブにしている所を削り余分な動作を無くしています。
2013/04/25 Ver 2.730
タスクトレイからのメニューを出す時にアクティブであったウィンドウを正確に取得し 又 見失わない様にしました。 タスクを条件で絞る時の API を出来るだけ統一してコード効率を良くしています。
文字列検索 API が Windows 98 で環境によっては 使用出来ないのと 速度が遅い事が判明したので 自前の文字列検索関数で処理し コマンドラインの数値が正確に取得出来ない不具合も修正しました。
2013/06/05 Ver 2.750
メニューに出したタスクと実際のウィンドウが対応が付き易い様にメニューが選択されているウィンドウの タイトルバーをアクティブ色にする様にしました。
/F で タスクのメニューを出した時にメニューの一番始めのウィンドウを一つだけ選択した時に此を クローズするのが確認できる様にカーソルを X 付きの物に変える様にしています。
ダイアログボックスの選別が厳しすぎて一部反応しない物が有ったので此に対処し 新しく開かれた ウィンドウが可視になるまで待つウィンドウの条件を絞る事で可視にならないウィンドウを無駄に 待つ事が無くなりこの間の反応が良くなりました。
CabTask.exe は コマンドライン 解析コードの改善と SW を小文字でも認める様にしました。
2013/08/10 Ver 2.760
可視になるウィンドウを待つ条件をさらに絞る事で殆ど引っかかりが無くし 待つループを別のメッセージ 取得コードに分けた事でこの部分は完全に分離する事が出来るようになり 待ち時間も此に伴い長くする事が 出来ました。此の様な改善でモニターする事が重なった時により多くのウィンドウに対応でき 且つ かなり 安定した動作をするようになりました。
後 開くを詳細に 大きくも Vista 以降から始まった 左側にTreeView の付いた 新しいタイプの開く保存 ダイアログにも対応しました。
2013/10/15 Ver 2.762
それぞれの位置に出る タスクメニューと右クリックメニューをより使用しやすいと思われる アライン位置に出す様に整理しました。又 整理した事でコードも簡潔になりました。
2013/11/10 Ver 2.764
過去から有ったしがらみの必要のないコードを削除して 余分なタイマーセットも無くし 又 タスクトレイの メッセージも体系的に整理してサイズダウンさせています。
CabTask も此のメッセージ整理に伴って変えています。同時に換えて下さい。
2014/02/20 Ver 2.766
タスクトレイとその同等のメニューが間違ったメッセージで出てしまうのを防止しました。又 キー入力が 無くなるのを待つ所でキーバッファが貯まってしまう可能性を排除するタイミングにしました。
2014/04/05 Ver 2.770
ウィンドウのシャットダウンで終了する時にするべき事が全て出来る様なメッセージの廻し方にしました。
2014/07/14 Ver 2.772
横長のディスプレーだとサイズの調整のするしないの高さ方向の値が実質割合が大きくなってきて 初期の趣旨と合わなくなってきたので此の値を調整しました。
2014/08/25 Ver 2.780
タスクトレイに表示するかどうかを指定出来る様に コマンドライン -NT 又 メニューの タスクトレイを新設しました。 此に伴って 二重起動になりそうな時には常駐している CabFixer に 右クリックメニューを出させて常駐している物の設定を 変えられる様に 補助プログラム CabTask も コマンドライン /R で 右クリックメニューを出させるオプションを付加しました。
2014/12/01 Ver 2.782
ウィンドウのシャットダウンと共に終了する時に出来るだけ早い反応で終了するコードに変えました。
2014/12/25 Ver 2.790
タスクフィルターの TMost はタスクの最初に並ぶ物だけを排除にしました。タスクメニューを Control キーで キャンセルした時には FirstW が有効な時には メニューの最初のタスクをアクティブに する様にしました。
2015/02/22 Ver 2.792
直に他のウィンドウをクリックされてメニューを消された時にウィンドウによっては タイトルバー色の 不整合が出てしまう事が有るのを修正しました。
2015/07/15 Ver 2.800
DPI スケーリング は自身でする事を宣言し メニューの文字やアイコンが OS の 仮想 DPI スケーリング の影響を 受けて滲んで表示される事の無い様にしました。
タスクリストは Windows 10 から始まった新しい コントロールパネルの設定等に使用される 特殊な拡張スタイルを 持つウィンドウに対応しました。
タスクトレイアイコンのミドルボタンクリックか 右ボタン + 無変換キーで デスクトップアイテムのメニューを 独立して表示させる様にしました。
2015/10/10 Ver 2.820
CabFixer を管理者権限で立ち上げると CabTask 等が メッセージポストを出来なくなってしまう事を無くしました。
XP 以前の為に残していた フォルダー表示動作項目を整理しました。
2015/12/15 Ver 2.840
ボタンに移動 の内部コードを見直して効率よく全てのボタンを確認出来る様にし 此らの付加動作が出来るだけ 他のプログラムの動作に影響を与えない様にしました。又 一度 確認して通過したウィンドウは直後に 再度する可能性を排除しました。
2016/05/15 Ver 2.900
COM を使用する宣言はスレッドで行う事にして重複の無駄を無くし確実にしました。
デスクトップアイテムメニューからプログラムを立ち上げる時により確実で安全な方法ににしました。
2016/09/15 Ver 2.920
タスクメニューを出してからこのアイテムを選択した時にウィンドウを識別するのに タイトルバーの色を 変えるのを余分なウィンドウまでしてしまいその影響が出るのを修正しました。
2016/11/20 Ver 3.000
一番頻繁に使用する CabinetWclass の構造を取得する所を Windows10 8 に最適化して スピードアップすると 同時に コントロールパネル で同じ CabinetWclass クラスを使用している物が 多々あるので 此と 混同しない様にしました。
ボタンに移動が 画面の下方にあるボタンにカーソルを移動しようとして見えなくなってしまうのを無くしました。
メニューのサイズの統一は サイズの制限に変えて指定サイズ以上のウィンドウを指定サイズにする 事にして 此を ON にした時でも 個々のウィンドウのサイズの 柔軟性を持たせました。
2017/02/05 Ver 3.100
可能性の無いモジュールの列挙はやめて無駄なループを無くしました。関連ファイルの有るフォルダーを開く時に 確実に関連ファイルを選択して開けられる様に必ず新しいウィンドウを開く様にしました。
エッジメニュー エッジタスク の範囲が内側に入りすぎていて 意図しない時に メニューが出てしまい 使いにくく なっていたので 範囲を調整して 意識して 右エッジ付近にカーソルを持って行かないと出ない様にしました。
何らかのメニューが出ている時には 自分のタイマーでの操作をバイパスさせて 出来るだけ他に影響を与えない様に しました。後 ボタンに移動 でマウスカーソルの位置が他の子ウィンドウの上にある時には移動しない事にして 意識しないカーソル移動を無くしました。
Ver 3.100 から Windows 95 98 Me NT 4.0 はサポートしない事にしました。この 環境の方は Ver 3.000 を 使用して下さい。
2017/06/20 Ver 3.120
タスクメニュー表示時のキーアクセラレーションの内部メッセージ処理するコードを 確実にキーキャラクターを 区別出来る方法に変え Space キーの扱いもはっきりと分けました。
Windows 10 環境でフォアグラウンドウィンドウにするタイミングが早すぎてミスする事が有るので 余裕を持たせました。
2017/10/30 Ver 3.140
エクスプローラーのエラーでタスクトレイのアイコンが失われた時に内部の保持デートと整合性がとれなくなり  タスクトレイのアイコンを表示出来なくなる事を修正しました。
2018/03/10 Ver 3.160
常駐している時に システムの不具合などで デスクトップ周りのベースウィンドウのハンドルが変わってしまった 時に 此を取り直す自動追従機能を付加しました。クラスを探す API を多少効率の良い物に換えました。
2018/07/05 Ver 3.180
API コールの戻り値 判断を修正して正しくしました。
2018/10/25 Ver 3.200
メニュー を出した後のターゲットフォルダーのタイトルバー色の扱いを確実に メッセージが 回ってから 処理する様にして ちぐはぐな表示になる可能性を減らしました。
2018/11/25 Ver 3.220
デスクトップに有る TaskMenu に必要の無いウィンドウの排除を 共通した効率の良い 方法で処理する事と  確認の順序を変えて 要らない確認を排除する事で 無駄を無くしサイズダウンをしました。
2018/12/25 Ver 3.240
TaskMenu を作る時に デスクトップに存在するウィンドウが Windows 10 Ver 1809 から 予めの余分な物が 増えて メニューに入って しまう事が出てきたので 此に対応しました。
2021/04/20 Ver 3.260
Windows 10 でデスクトップに増加した目に見えないタスクをより正確に排除する様にしました。
IME を使用しての入力は無いので使用しない宣言をして常駐メモリーを減少させました。
2022/01/10 Ver 3.300
Windows 11 でデスクトップにさらに増加した目に見えないタスクをより正確に 排除する様にしました。
タスクメニューの一番上のウィンドウが最大化している時には此を選択すると通常のサイズに戻す機能を付けました。
此のファイル の解析をより汎用性の有る API に変えて 64Bit exe でも特定できる様にしました。
2022/10/10 Ver 3.320
Windows 11 でデスクトップにさらに増加した目に見えないタスクの様子が 変わったので 此を排除するコードに しました。
2023/03/30 Ver 3.340
Windows 11 でデスクトップ上のアイテム数 タスク数 によっては 縦に並べるメニューの表示が予期した物と 違って面白からぬ事になるのを防止するコードにしました。
2023/12/05 Ver 3.360
自分のパスと コマンドラインを取得する所を新たな直接的な物にして パス最終の値の再確認も入れて安全性を 高めました。
ボタンに移動 で 検索クラス名がずれていて移動しないボタンが有るのを修正しました。
2024/05/05 Ver 3.400
此のファイル で使用する Module を取得する API の使用をより汎用性の有る安全な物に変えました。
自分で描くメニューのメッセージ処理を出来る所は共通化して若干ですがコード効率を良くしてサイズも減少させました。
タスクメニューにデスクトップのウィンドウの状況によってはタスクバーが隠されて表示されない状況が出る事が有るので この様な時には タスクメニューの一番下に Shell_TrayWnd (タスクバー)のメニューを出して 此を選択する事で タスクバーを全面に出すことが出来る様にしました。

  最新版 05/05 2024 Ver 3.400 Size 35 kb  CabFixer のダウンロード
    Windows 98 ME NT4.0 の環境の方は Ver 3.000 をご使用下さい。
−戻る−