TaskMuEx

最新版 2024/04/25
【ソフト紹介】
タスクリストをメニューにしてタスクを切り替える物です。Windows が本来持っている Alt + Tab とかメニューバーはタスクの数が多くなると非常に解りにくくなると言う事で CabFixerのタスクスイッチャー機能だけを取り出して分かり易い様にアイコンを付けた物です。
taskmenu.gif タスクメニュー表示

【 特徴 】
常駐しないで現存するタスクリストをメニューにしてすぐ終了します。

【 動作環境 】
Win XP / Vista / 7 / 8 / 10 / 11 特別なランタイムはいりません。

【 インストール/アンインストール方法 】
適当なところに置いて適当にショートカットを作ってください。
アンインストールは実行ファイル TaskMuEx.EXEを削除してください。他には何も記録しません。

【使用方法】
ただ立ち上げてください。全てのタスクリストをメニューにします。
淡色表示になっている物は最小化されている物です。
赤丸にXのアイコンが表示されている物は多分ハングアップしている物です。
メニューの順序は 上の物が上位ウィンドウとなっています。
後はメニューを左クリック選択すればそのタスクが一番上の作業タスクになります。
Shift を押していると最小化している物終了を指定した物を全て正常化してから選択タスクを 一番上にします。
左クリックを離す前に他のタスクを選択してそのまま左ボタンを押しっぱなしにしてしていると 押している間に選択されたタスクを二つまで記憶し前面に持ってくる事が出来ます。
一番上になるのは最後に離された時に選択されていたタスクです。
メニューの選択は一番最初の文字のキーを押す事でもクリックした事になります。最初の文字が同じ メニューが何個か有る時には一番下の(後の方の )メニューがクリックされた事になります。
メニューを右クリック選択すればそのタスクは最小化表示となります。
此の 右クリックする時に Shift を押しているか又は Delete キーで とアイコンも消えてメニューが 終了した後に此のアイコンが消えたメニューのプログラムを終了させます。
メニューを消すのに ESC で消せば終了を指定したプログラムはキャンセルされて元に戻ります。
コントロールキーを押す事でメニューを消せますがこの時は最小化しているプログラムを全て終了させます。
メニューの出ている時の アクセラレーション キー としての Space キーは /F オプションで立ち上げた 時には メニューの最初のプログラムを選んだ事と同じで メニューの最初のプログラムを終了させます。
/F オプション が無い時には通常の キーと同様に 最初が Space の物を選択した事になります。 最初が Space の物が無い時には 最初のプログラムを選択して メニューを消します。
終了を指定したプログラムにオーナーウィンドウが有る時には此も終了させます。
メニューの一番上に有って最大化しているウィンドウは此を選択する事により通常のサイズに戻します。

【コマンドライン】
・・TaskMuEx.EXE [/W][/M][/P][/S][/L][/F] [/200,300] ([/200.300])
・/W で作業中の( フォアグラウンドの )プログラムがMDI (マルチドキュメントインターフェイス ) を 持っていて ウィンドウ(W)のメニューが有る時には此のメニューを出してその ウィンドウ切り替え メニューの所にマウスカーソルをもって行きます。条件が合わない時には通常通りに立ち上がります。 ( Shiftキーが押されていると出しません。トグル動作です。)
・/M で最上位表示 Window ( TopMost 他の Windowに隠れない 物 ) が最小化されていない時は メニューに入れなくなります。(最小化されて要る時は表示します。)
・/O でオーナーウィンドウを持つ物 (ファイルのプロパティーやバージョンダイアログボックス等) はメニューに入れません。
・/P で ファイルのプロパティーやバージョンダイアログボックス等のポップアップウィンドウを出して いる親ウィンドウはメニューに入れません。O とは排他的な動作になります。
・/S で 最小化されている ウィンドウはメニューに入れません。
・/D で 無効になっている( Disable ) ウィンドウ はメニューに入れません。Ms IME や ATOK パレット 等をメニューに入れたくない時に入れて下さい。
・/L で Tool Window (ウィンドウは表示されているがタスクバーの中には現れない物 ) はメニュー に入れません。
・/F でタスクのメニューを出した時にメニューの一番始めの(最上段に表示されているフォアグランドだった ウィンドウ )を一つだけ選択した時に此をクローズします。メニューを選択した時に X 付きのカーソルに なります。
・/200,300 で マウスカーソルを 左上から200,300 に置いて始めます。/200 なら左から 200を /,300 なら上から 300を指定しない方はその時のマウスカーソル Pos.となります。 マルチモニター環境の 時は /-300,-200 も認めます。
・/200.300 でマウスカーソルは動かさずにメニュー上下中心を200.300 に置いて始めます。 /200. なら左から 200を /.300 なら上から 300を指定しない方はその時のマウスカーソル Pos.となります。

【立ち上げ時の キーオプション】
立ち上げ時に Shift キーが押されているともし 作業中の( フォアグラウンドの )プログラムが MDI (マルチドキュメントインターフェイス )を持っていて ウィンドウ(W) のメニューが有る時には 此のメニューを出して そのウィンドウ切り替えメニューの所にマウスカーソルをもって行きます。
条件が合わない時には通常通りに立ち上がります。(コマンドライン -W の時には通常通りです。)
/W or Shiftキーでの機能はどちらにしても立ち上げ時にターゲットウィンドウがアクティブに なっていないと機能しないので通常の立ち上げでは使用するのは難しいでしょう。
立ち上げ時の無変換 キーはコマンドラインの /M /P /W /S /L を全て無視して全てのウィンドウを 対象にします。

お約束事ですが 当然 使用した結果環境の違う場所での正常動作に対しては無保証です。

【 履歴 】
2002/09/08 Ver 1.150
TaskSwchから常駐機能を削って初公開しました。
2002/10/19 Ver 1.160
メニューの文字の大きさによりアイコンの大きさも変えるようにしてメニューの文字の大きさによる整合性を取り画面上の表示効率を良くしました。又足りない場合も有ったのでタスクリストの数を63個まで増やしました。
2002/10/24 Ver 1.161
Shift +右クリックで終了させるウィンドウのタイトルがDisable にならなくなっていたのを修正しました。表示用のブラシをシステムブラシを使用する様にしてサイズダウンをしています。
2002/11/19 Ver 1.162
Enterで選択された時に他のプログラムに悪さをしない様にしました。プログラム の終了に Delete キーメニューの終了に Spaceキーを新たに割り当てました。
2003/04/07 Ver 1.163
単発で終わるプログラムには必要ないメッセージ処理を削除し此を単なる終了時の順序に割り当てコードを整理し又 Win API Call を 整理共通化してサイズダウンをました。
2003/10/04 Ver 1.164
自分を作る所を少しでも軽くしました。
2003/11/13 Ver 1.200
一度の立ち上げで 三個のWindows を前面に持ってくる機能を付加しました。
2003/12/26 Ver 1.210
Win XP でプログラムの起動のされ方によっては 此のTaskMuEx でフォアグランドにされた ウィンドウが .5〜1秒ぐらい反応が遅れる事が有るのを修正しました。又メニューに表示する物が無い時には自分を作らないですぐに帰る様にして無駄を無くしました。
2004/01/05 Ver 1.211
一つでも長いタイトルのWindow が有るとメニューが長くなりすぎるので此の文字取得の数の制限を短くしました。
2004/02/03 Ver 1.220
コントロールキーを押す事でメニューを消し最小化しているプログラムを全て終了させる機能にしました。その他メニューを出す前に余分な事をしないで他に影響の出る可能性を排除しました。
2004/02/15 Ver 1.221
メニューを出す前に自分が確実にアクティブにならずに他の場所をクリックしてもメニューが消えなかった不具合を解消しました。又Win XP で此の TaskMuEx でフォアグランドにされたウィンドウの反応が遅れる事が有るのを改善しました。
2004/06/25 Ver 1.222
反応が無いプログラムを相手にして戻りがなく自分も此でハングアップしてしまう可能性を排除しました。
2004/09/18 Ver 1.223
最小化ボタンを持たないWindow に対して最小化命令を送って面白からぬ事を避けるようにこの様な Window は最小化からの対象から外しました。
2004/10/18 Ver 1.225
右ダブルクリックで Shift +右クリックと同じ 終了を指定出来る様にしました。
2004/10/18 Ver 1.226
ショートカットキー等によく使用される AltCtrl は TaskMuEx のキーアサインと重複してしまいメニューが出てすぐに消えてしまわない様にこれらのキーは離されるのを待ってからメニューを出す事にしました。
2004/11/25 Ver 1.230
メニューを出す位置指定をコマンドラインで受け付けるようにしました。
2004/10/18 Ver 1.231
コマンドライン -Pを指定していない時にはオーナーウィンドウをの方はメニューには入れない様にして出来るだけメニューの数の無駄を省く様にしました。
2005/01/16 Ver 1.232
多重起動はメニューにメニューが重なって全く意味がないので起動している時の新たな起動は前のTaskMuExを終了させる機能にしました。
2005/02/12 Ver 1.233
メニューに出来て扱えるタスクの最大がなぜか仕様と違って55個になっていたので此を 63 個にしました。
2005/04/02 Ver 1.234
フォアグラウンドにしたタスクに場所とタイミングによっては影響を与えるコードが有ったので此を修正しました。
2005/04/12 Ver 1.235
Win XP 2000環境で起こるタスクを切り替えた後の一秒ぐらいの無反応時間を無くしました。
2005/04/28 Ver 1.240
マルチドキュメントインターフェイスを持つプログラムのWindow を切り替えるメニューを出す機能を立ち上げ時のキーオプション コマンドライン に加えました。
2005/05/18 Ver 1.241
反応の無いプログラム(ハングしている ) が有ると此に引っ張られてそこで固まってしまいメニューも出なくなる事に対処しハングしている物は赤丸にXのアイコンで表示する様にしました。
2005/06/09 Ver 1.242
他のタスクに影響を与える恐れの有るコードは排除しました。
2005/11/15 Ver 1.250
最初に Call される関数を変えてリンク方法を変える事で立ち上げ時の関数を一つ減らして多少なりとも速くサイズも減少させました。
2005/11/22 Ver 1.260
コマンドラインの柔軟性の為に SW は全て / から始める事にしました。此により コマンドラインはどういう形でも良くなり 解析スピードサイズ共に改善できました。
2006/01/20 Ver 1.261
タイトルを読み込むバッファが足りなくて長いタイトルを持つウィンドウの最後の方の文字がメニューに出なくなってしまう事に対処しました。
2006/03/12 Ver 1.270
メニューを一番最初の文字のキーを押す事でも選択出来る様にしました。左ボタンを押しっぱなしで選択したタスクの数の制限を無くしました。コマンドラインの取得解析とメニューを書き換えるコードをを効率化しました。
2006/03/26 Ver 1.280
ToolWindow 排除 SW /L 最小化Windows 排除 SW /S を新設しました。
2006/09/13 Ver 1.290
メニューが出た後のキャンセルが他の場所のクリックですぐに出来る様に自分をフォアグランドする所を改善しました。この為同じ物が立ち上がっているかどうか探す所が省略できて無駄がなくなりました。
2007/03/30 Ver 1.300
オーナーウィンドウを持つ物 がメニューに有る時に此を 終了させる動作をさせた時にはオーナーウィンドウも同時に終了させる様にしました。
2007/07/01 Ver 1.310
タスクのメニューを出した時にメニューの一番始めのフォアグランドだったウィンドウを一つだけ選択した時に此をクローズする/F SW オプションを加えました。
2007/10/16 Ver 1.312
ツールチップが出ている時に作動させると此をカウントしてしまい此を出しているウィンドウ本体をメニューにしないでツールチップをメニューにしてしまう不具合を修正しました。
2008/03/06 Ver 1.314
メニューをリアルタイムで変えるのを動作が外れた時に出来るだけ他のシステムに影響を与えない安全なメッセージに変えました。
2008/11/20 Ver 1.320
最後にアクティブにする物がより確実にアクティブになる様なコードを入れました。又 コマンドライン /F で最上段に表示されているフォアグランドだったウィンドウを一つだけ選択した時に此をクローズする前にアクティブにしていた無駄を無くし動作をすっきりさせました。
2009/05/08 Ver 1.400
Windows 98用のメモリマネージャー用の読み込み時間短縮オプションをやめてアプリケーションのサイズ ( ディスクサイズ )を縮小しました。
2009/05/27 Ver 1.410
キーボードで操作する方の為にポジション指定のコマンドラインにマウスカーソルを此に動かさない /100.200の書式を加えました。
2009/08/16 Ver 1.412
/F オプションで最上位に表示されているウィンドウを終了した後は Windows の挙動のお約束に従って最上位の次に表示されている ウィンドウをアクティブにする様にしました。
2010/03/06 Ver 1.420
メニューの高さを効率よく取得出来る方法に変えました。
2011/02/02 Ver 1.430
立ち上げ時の無変換キー押しの働きを /M /P /W /S /L オプション を全て無しにして 全ての ウィンドウを対象とする機能に変えました。Top Most のウィオンドウが有るとフォアグラウンド ウィンドウが一番最初に来ない不具合を修正しました。
2011/05/31 Ver 1.440
メッセージボックスやダイアログを出している ウィンドウを閉じようとして閉じる事が出来なかったり 閉じても準備が出来ないうちに閉じて後で不具合が起こらない様に本体を閉じる前に 確実に順序だって それらの物を閉じる様にしました。
2012/02/21 Ver 1.450
/O でオーナーウィンドウを持つ物を排除するフィルターでオーナーウィンドウが 実体が無い物については 自分自身を入れる事にして有るのに外す事の可能性を減らしました。
2012/08/14 Ver 1.452
メニューの重複描画を避ける為のコードと重なって立ち上がった時にアイコンと文字が描かれない 可能性が有るコードの不具合を修正しました。
2013/02/04 Ver 1.460
Windows 8 で 見えない UI プログラムを タスク に入れてしまう事を 防止する様にしました。
2013/04/12 Ver 1.470
ウィンドウを特定する時に使用する API を整理してコード効率を上げサイズを多少ダウンしました。
2013/05/30 Ver 1.500
メニューに出したタスクと実際のウィンドウが対応が付き易い様にメニューが選択されているウィンドウの タイトルバーをアクティブ色にする様にしました。
/F で タスクのメニューを出した時にメニューの一番始めのウィンドウを一つだけ選択した時に此をクローズ するのが確認できる様にカーソルを X 付きの物に変える様にしています。
後 あまりお勧めされない 古めの API を新しい物に換え コンパイルオプションを変えてサイズダウンしています。
2015/04/30 Ver 1.520
直に他のウィンドウをクリックされてメニューを消された時にウィンドウによっては タイトルバー色の不整合が 出てしまう事が有るのを修正し 又 Windows 10 の新たな UI ウィンドウを確実に タスクリストから排除する様に しました。
2015/08/05 Ver 1.540
DPI スケーリング は自身でする事を宣言し メニューの文字やアイコンが OS の 仮想 DPI スケーリング の影響を 受ける事の無い様にしました。
タスクリストには通常は入らない物の一部を確実に排除する様にし Windows 10 から始まった新しい設定等の コントロールパネル系の UI のタスクリストに対応しました。
2016/09/05 Ver 1.550
タスクメニューを出してからこのアイテムを選択した時にウィンドウを識別するのに タイトルバーの色を 変えるのを余分なウィンドウまでしてしまいその影響が出るのを修正しました。
2017/06/10 Ver 1.560
タスクメニュー表示時のキーアクセラレーションの内部メッセージ処理するコードを確実にキーキャラクターを 区別出来る方法に変え Space キーの扱いもはっきりと分けました。
Windows 10 環境でフォアグラウンドウィンドウにするタイミングが早すぎてミスする事が有るので余裕を 持たせました。
2018/10/30 Ver 1.580
システムが 間違って 可視状態にしてしまう "WorkerW" クラスを タスクメニューから確実に排除する コードを 入れました。( 此の "WorkerW" を Close してしまうとデスクトップがかなりおかしな事になる時も有ります。)
デスクトップに有る TaskMenu に必要の無いウィンドウの排除を 共通した効率の良い方法で処理する事で 大幅にサイズダウンと無駄を無くしました。
2018/11/30 Ver 1.600
タスクメニューを出す SW に Ms IME や ATOK パレット 等をメニューに入れたくない時にも使用出来る 無効に なっている( Disable ) ウィンドウは メニューに入れない SW /D を加えました。
同時に ファイルのプロパティーやバージョンダイアログボックス等のポップアップウィンドウを出して いる親ウィンドウはメニューに入れない SW /P も加えましたん。/O とは排他的な動作になります。
後 デスクトップに存在するウィンドウが Windows 10 Ver 1809 から余分な物が増えたので此にも対処しました。
2018/12/30 Ver 1.620
デスクトップに存在するウィンドウが Windows 10 Ver 1809 から予めの余分な物が 増えて メニューに入って しまう事が出てきたので 此に対応しました。
2019/09/05 Ver 1.640
個人用のテーマでアイコン文字やアイコンのサイズを変えているとメニューサイズとアイコンサイズがずれて しまう事を修正し 常にシステムメニューと同様なメニューが出る様にしました。
2020/11/15 Ver 1.700
マルチモニター環境に対応しました。此に伴って コマンドラインの位置指定も マルチモニター では /-200,-300 も 認める事になります。
IME を使用しての入力は無いので使用しない宣言をして常駐メモリーを減少させました。
2021/02/15 Ver 1.720
コマンド SW /F で メニューの一番始めを一つだけ選択した時に 此をクローズする SW で クローズ した後での フォア グラウンドウィンドウは システムに任せるのでは無く必ず 必ず クローズ したウィンドウの次の物が フォア グラウンドウィンドウになる様にしました。
自分のメニューを消すコードを若干効率の良い物にしました。
2021/04/15 Ver 1.740
Windows 10 でデスクトップに増加した目に見えないタスクをより正確に排除する様にしました。
2021/12/05 Ver 1.800
Windows 11 でデスクトップにさらに増加した目に見えないタスクをより正確に排除するコードにしました。 又 デスクトップ上のタスクの確認を無駄を省いて 3/4 Item ぐらいで済む様にしました。
2022/02/25 Ver 1.820
タスクメニューの一番上のウィンドウが最大化している時には此を選択すると通常のサイズに戻す機能を付けました。
2022/08/10 Ver 1.840
Windows 11 でデスクトップにさらに増加した目に見えないタスクの様子が変わったので 此を排除する コードにしました。
2023/04/10 Ver 1.860
Windows 11 でデスクトップに開いている ウィンドウの数とディスプレーの設定によっては縦に並べる タスクメニューが予想と違う形になってしまうのを修正しました。
2024/04/25 Ver 1.900
OWNERDRAW メニューを作成する時に送るメッセージを整理して内部確保するバッファのアラインメントを 良くし量も削りサイズダウンをしました。
メニューを表示するメッセージ処理のコードを共通化して効率を良くしました。

最新版 04/25 2024 Ver 1.900 Size 11 kb
 TaskMuEx のダウンロード

その都度立ち上げるのはどうもと言うために常駐機能の有る TaskSwch です。
 TaskSwch のダウンロード  14 kb

−戻る−