TaskSwch

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

【 特徴 】
常駐しないで現存するタスクリストをメニューにしてすぐ終了するモードとタスクトレイに 常駐するモードを持っています。軽いし速い物ですので他から呼んで使用するのにも便利だろう と思います。
taskmenu.gif 左クリックタスクメニュー表示

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

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

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

・コマンドライン /T でタスクトレイに常駐します。
 TaskSwch.EXE /T
 既に常駐している物が有ってタスクトレイに表示されていない時には設定メニューを出させます。
タスクトレイに常駐したらそのアイコンの左クリックでタスクリストメニューを出します。  常駐したらそのアイコンの左クリックでタスクリストメニューを出します。
 右クリックメニューで 終了 / バージョンを出します。
 -TMost チェックが有る時は -M オプションと同じです。( 選択でトグル動作です。)
 -Owner チェックが有る時は -P オプションと同じです。
 +Windw チェックが有る時は /W オプションと同じです。
 -Saisyo チェックが有る時は /S オプションと同じです。
 -TooL チェックが有る時は /L オプションと同じです。
 -FirstW チェックが有る時は /F オプションと同じです。
 TskTray チェックが有る時は タスクトレイに表示されています。
  選択する事でタスクトレイに表示を切り替えます。
既に常駐している物が有る時には後からの /MOWSL が優先します。
+Windw と -Saisyo の設定は 立ち上げ時の Shift 無変換 キーで設定を反転出来ます。

・/J で タスクトレイに表示せずに常駐します。
 此を 終了させるのは TaskSwch /X か TaskSwch /T で設定メニューから 終了 を選択するか
 Alt + Ctrl +Delete でタスクリストを出して終了させて下さい。
 一番最初の立ち上げ時に /J が有ればメニューを出さずに常駐します。
・/X で 常駐している TaskSwch があれば此を終了させます。
 常駐している TaskSwch が無かった時には メニューを出して 即 終了します。
 一度だけで終わる使い方の時は入れて下さい。( TaskMuEx の方が良いとは思いますが。)
・コマンドライン /M で最上位表示 Window ( TopMost 他の Window に隠れない 物 ) が最初にある時は メニューに入れなくなります。二番目以降だったり 最小化されている時は表示します。
・コマンドライン /O で オーナーウィンドウを持つ物 ( ファイルのプロパティーや バージョンダイアログ ボックス等 ) はメニューに入れません。
・/S で 最小化されている ウィンドウはメニューに入れません。
・/L で Tool Window ( ウィンドウは表示されているがタスクバーの中には現れない物 )はメニュー に入れません。
・/F タスクのメニューを出した時にメニューの一番始めの( 最上位に表示されている ウィンドウ )を 一つだけ選択した時に此をクローズします。メニューを選択した時に X 付きのカーソルになります。
・/W で作業中の( フォアグラウンドの ) プログラムがMDI (マルチドキュメントインターフェイス ) を 持っていて ウィンドウ(W)のメニューが有る時には此のメニューを出してその ウィンドウ切り替え メニューの所にマウスカーソルをもって行きます。条件が合わない時には通常通りに立ち上がります。
 立ち上げ時に Shiftキーを押している事で此の設定は反転出来ます。
・/200,300 で マウスカーソルを 左上から 200,300 に置いて始めます。/200 なら左から 200を /,300 なら上から 300 を指定しない方はその時のマウスカーソル Pos.となります。
・/200'300 で マウスカーソルは動かさずにメニュー上下中心を 200,300 に置いて始めます。/200' なら 左から 200 を /'300 なら上から 300 を指定しない方はその時のマウスカーソル Pos.となります。

・立ち上げ時の キー オプション
+Windw コマンドライン /Wは 立ち上げ時の Shift キーで設定を反転出来ます。
立ち上げ時の無変換 キーは 設定 若しくは コマンドライン の
 -TMost /M -Owner /P +Windw /W -Saisyo /S -TooL /L を全て無視して全ての ウィンドウを対象にします。

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

【 履歴 】
2002/06/01 Ver 1.000 ・ 初公開
2002/06/03 Ver 1.100
メニューの右クリックは最小化動作にしました。又最小化されている物は 淡色表示にして 状況を分かり易くしました。 /T オプションで二重起動の時はその場でメニューを出して終了動作にしました。 コントロールを押すことでキャンセル動作を新設しました。
2002/06/06 Ver 1.110
大きいアイコンしか返さなかった場合にアイコン表示が大きいままの表示 になってしまうのを修正しました。コードを全面的に見直して スピードアップ サイズリソースの減少 に大幅改善しました。 新たにメニュー表示を調整するオプション -M -P を加えました。
2002/06/10 Ver 1.120
マウスカーソルの縦の位置によってはアイテム数が多い時にメニューが 隠れてしまう事を避ける様にしました。又アイテム数の多いのに対応する様に多い時にはメニュー を折り返して表示する様にしました。此に伴ってタスクリストの数の制限を 55 個に増やしました。
2002/06/16 Ver 1.130
プログラムの終了機能 全てのプログラムを通常化機能を付けました。 又まあ此処までしないと完成では無いんだろうと言う事で常駐後のオプションの切り替えを右 クリックメニューに加えました。内部的に余分なメニューの書き換えを防止するようにして動作を 軽くしました。後環境と場合によってはおかしなタスクを拾ってしまうのを防止しメニューを出す 前に確実に自分をアクティブにする様にしてメニューの挙動を安定させました。
2002/06/29 Ver 1.131
自分をアクティブにする時に必要の無いと思われるシステムのタイミングの 書き換え書き記戻しをやめよりシンプルにしました。
2002/08/29 Ver 1.140
タスクトレイにアイコンを表示しないで常駐する /J オプション 此に対応して 常駐している TaskSwch を 終了させる /Q オプション を付けました。 後 TaskMenu での運用を 考えて此との調整を取っています。
2002/09/08 Ver 1.150
プログラムを終了させる一段階前に( Shift + 右クリック ) その Windowを 最小化させて消すためにプログラムによっては次の立ち上げの時に此を記憶してしまう事が あるのに対処しました。又 メニューを終了する時の Shift キー ESC キーの 働きを整理して 解り易く整理しました。 常駐機能を削って少しでもサイズを抑えた TaskMuEx も同時にアップしました。
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/03/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
ショートカットキー等によく使用される Alt Ctrl は TaskSwch のキーアサインと 重複してしまいメニューが出てすぐに消えてしまわない様にこれらのキーは離されるのを待ってから メニューを出す事にしました。
2004/10/18 Ver 1.227
コマンドライン -P を指定していない時には オーナーウィンドウをの方は メニューには入れない様にして出来るだけメニューの数の無駄を省く様にしました。
2005/04/02 Ver 1.228
フォアグラウンドにしたタスクに場所とタイミングによっては影響を与える コードが有ったので此を修正しました。
2005/04/12 Ver 1.229
Win XP 2000 環境で起こるタスクを切り替えた後の 一秒ぐらいの無反応 時間を無くしました。
2005/05/18 Ver 1.230
反応の無いプログラム( ハングしている ) が有ると此に引っ張られて そこで固まってしまいメニューも出なくなる事に対処しハングしている物は赤丸にXのアイコンで 表示する様にしました。
2005/06/09 Ver 1.232
他のタスクに影響を与える恐れの有るコードは排除しました。
2005/11/15 Ver 1.250
最初に Call される 関数を変えてリンク方法を変える事で立ち上げ時の 関数を一つ減らして多少なりとも速く サイズも減少させました。
2005/12/11 Ver 1.300
今ひとつ使いにくく制限も有ったので大きくメッセージのやり取りを 変えて TaskMenu と TaskSwch と同じ様に使用できる様にして 連携も良くしました。
2005/12/20 Ver 1.310
コマンドライン SW を整理して基本的には常駐の方向にしました。 此により サイズ 又 無駄な所も削れました。
2006/01/20 Ver 1.311
タイトルを読み込むバッファが足りなくて長いタイトルを持つウィンドウの 最後の方の文字がメニューに出なくなってしまう事に対処しました。
2006/02/13 Ver 1.312
/W オプションの無い時には確実にキー入力を受け付け 又タスクのメニュー 以外のクリックで確実にキャンセル出来る様に常駐している TaskSwch をアクティブにする様にしました。
2006/03/07 Ver 1.313
コマンドラインの取得解析を効率化しています。
2006/03/12 Ver 1.320
メニューを終了する時の ESC Ctrl キーの機能が仕様通りで無いのと ENT キーで 選択された時に反応しない不具合を修正しました。メニューを一番最初の文字のキーを押す事でも 選択出来る様にしまし 又 左ボタンを押しっぱなしで選択したタスクの数の制限を無くしました。 後 メニューを書き換えるコードをを効率化しました。
2006/03/26 Ver 1.330
ToolWindow 排除 SW /L 最小化 Windows 排除 SW /S を新設しました。
2006/09/08 Ver 1.340
メニューが出た後のキャンセルが他の場所のクリックですぐに出来る様に 自分をフォアグランドする所を一元化して余分な所を減らしました。
2007/03/30 Ver 1.350
オーナーウィンドウを持つ物 が メニューに有る時に此を 終了させる動作を させた時にはオーナーウィンドウも同時に終了させる様にしました。
2007/07/01 Ver 1.360
タスクのメニューを出した時にメニューの一番始めのフォアグランドだった ウィンドウを一つだけ選択した時に此をクローズする /F SW オプションを加えました。
2007/10/14 Ver 1.362
ツールチップが出ている時に作動させると此をカウントしてしまい此を出して いるウィンドウ本体をメニューにしないでツールチップをメニューにしてしまう不具合を修正しました。
2008/03/06 Ver 1.364
メニューをリアルタイムで変えるのを動作が外れた時に出来るだけ他のシステムに 影響を与えない安全なメッセージに変えました。
2008/11/20 Ver 1.370
最後にアクティブにする物がより確実にアクティブになる様なコードを 入れました。又 コマンドライン /F で最上段に表示されているフォアグランドだったウィンドウを一つだけ 選択した時に此をクローズする前にアクティブにしていた無駄を無くし動作をすっきりさせました。
2009/05/06 Ver 1.400
Windows 98 用のメモリマネージャー用の読み込み時間短縮オプションをやめて アプリケーションのサイズ ( ディスク サイズ )を縮小しました。
2009/05/30 Ver 1.410
キーボードで操作する方の為に ポジション指定のコマンドラインにマウスカーソルを 此に動かさない /100'200 の書式を加えました。
2009/08/14 Ver 1.412
/F オプションで 最上位に表示されている ウィンドウを終了した後は Windows の 挙動のお約束に従って 最上位の次に表示されている ウィンドウを アクティブにする様にしました。
2010/03/04 Ver 1.420
メニューの高さを効率よく取得する様にして此と内部で保持している物を比べる様にして常駐時に メニューの高さを変えられても対応できる様にしました。
2010/09/26 Ver 1.422
タスクリストを出すと消えてしまうツールチップやIME ToolBar 等は最初から タスクリストに入れない様にしました。
2011/01/28 Ver 1.430
立ち上げ時の無変換キー押しの働きを /M /P /W /S /L オプション を全て無しにして 全ての ウィンドウを対象とする機能に変えました。Top Most のウィオンドウが有るとフォアグラウンド ウィンドウが一番最初に来ない不都合を修正しました。
2011/05/31 Ver 1.440
メッセージボックスやダイアログを出している ウィンドウを閉じようとして閉じる事が出来なかったり 閉じても準備が出来ないうちに閉じて後で不具合が起こらない様に本体を閉じる前に 確実に順序だって それらの物を閉じる様にしました。
2012/02/11 Ver 1.450
バージョンを Shift を押しながら選択する事でメニューフォントを再確認機能を入れました。 /O でオーナーウィンドウを持つ物を排除するフィルターでオーナーウィンドウが実体が 無い物については 自分自身を入れる事にして存在ウィンドウを外す事の可能性を減らしました。
2012/07/10 Ver 1.452
タスクメニューが前回の終わり方によっては 重複描画を避ける為のコードと重なって立ち上がった時に アイコンと文字が描かれていない事が有る不具合を修正しました。
2013/01/25 Ver 1.460
Windows 8 で 見えない UI プログラムを タスク に入れてしまう事を 防止する様にしました。
2013/04/10 Ver 1.470
自分が動作を開始した時点でのアクティブウィンドウを確実に把握出来て見失わない様にしました。 ウィンドウを特定する時に使用する API を整理してコード効率を上げサイズを多少ですがダウンしました。
2013/05/25 Ver 1.500
メニューに出したタスクと実際のウィンドウが対応が付き易い様にメニューが選択されているウィンドウの タイトルバーをアクティブ色にする様にしました。
/F で タスクのメニューを出した時にメニューの一番始めのウィンドウを一つだけ選択した時に此をクローズ するのが確認できる様にカーソルを X 付きの物に変える様にしています。
後 あまりお勧めされない 古めの API を新しい物に換え コンパイルオプションを変えてサイズダウンしています。
2014/09/05 Ver 1.510
自身でタスクトレイに表示するかしないかを設定出来ないのは不自由なので 設定メニューに TskTray の メニューを新設しました。此に伴って 常駐している物が有って タスクトレイに表示されていない時の コマンドライン /T は 常駐している物に設定メニューを出させる様にしました。
2014/12/10 Ver 1.520
/M -TMost 設定は最上位表示 Window ( TopMost 他の Window に隠れない物 ) が最初にある物だけをメニューに 入れない様に コントロールキー を押す事でメニューを消した時に メニューの最初に有った Top Most の ウィンドウは アクティブにする様に変えました。
タスクトレイの左クリックからメニューを出すとタスクトレイのアイコンを削除してしまう不具合を 修正し メニューの動きで各ウィンドウの選択色を変える機能の 事後処理をより正確にしました。
2015/03/02 Ver 1.522
直に他のウィンドウをクリックされてメニューを消された時にウィンドウによってはタイトルバー色の 不整合が出てしまう事が有るのを修正しました。
2015/07/30 Ver 1.530
DPI スケーリング は自身でする事を宣言し メニューの文字やアイコンが OS の 仮想 DPI スケーリング の影響を 受ける事の無い様にしました。Windows 10 から始まった新しい設定等のコントロールパネル系の UI の タスクリストに対応しました。
2015/10/30 Ver 1.540
TaskSwch.exe の立ち上げられ方によっては TaskMenu.exe からのメッセージを受け付けなくなってしまう事を 無くしました。
2016/09/10 Ver 1.550
タスクメニューを出してからこのアイテムを選択した時にウィンドウを識別するのにタイトルバーの色を 変えるのを余分なウィンドウまでしてしまいその影響が出るのを修正しました。
2017/06/15 Ver 1.560
タスクメニュー表示時のキーアクセラレーションの内部メッセージ処理するコードを確実にキーキャラクターを 区別出来る方法に変え Space キーの扱いもはっきりと分けました。
Windows 10 環境でフォアグラウンドウィンドウにするタイミングが早すぎてミスする事が有るので余裕を 持たせました。


最新版 06/15 2017 Ver 1.560 Size 13 kb
 TaskSwch のダウンロード

常駐させるのはどうもと言うために常駐機能を削って少しでもサイズを抑えた TaskMuEx も有ります。
 TaskMuEx のダウンロード 9 kb
−戻る−

 

TaskMenu

 TaskSwchを便利に使用する補助 プログラムです。
最新版 2014/09/05 2014
 TaskSwch は 私は Windows の起動中は比較的頻繁に使用する物であり割と手放せない物となりました。 使用に関しては一度常駐させておけば次からの立ち上げ時には此の常駐している物にメニューを 任す事になり此の方が 初期化の手間 リソースの取得 解放 が無くなり 結局は動作が軽く速くなります。
TaskSwch /T で常駐させて その後 TaskSwch /T でタスクのメニューを出させても良いのですが 此では TaskSwch の常駐してからの動作用のコードは毎回の起動毎に余分となってしまいます。
 そこで TaskSwch から此の常駐してからの動作用のコードを全て除いたTaskSwch 補助プログラム TaskMenuを作って使用しています。単に TaskSwch にメニューを出す信号を送るだけで終了するので非常に 軽く動作します。
2002/08/29 Ver 1.000 初公開
2004/02/03 Ver 1.220
TaskSwchがメニューを出す前にこちらでフォアグランドにするようにしました。又 TaskSwch のパス用の バッファは規則通りに取り深いパスの フォルダーに置いた所からでも OK にしました。
2004/10/18 Ver 1.225
右ダブルクリックで Shift + 右クリックと同じ 終了を指定出来る様にしました。
2005/11/15 Ver 1.250
最初に Call される関数を変えてリンク方法を変える事で立ち上げ時の関数を二つ減らして多少なりとも速く 又 パス用のバッファも確保する必要も無くなり此に伴う API 使用も要らなくなりサイズも大幅に 減少させました。
2005/12/05 Ver 1.251
TaskSwch を立ち上げられない不具合を修正しました。
2005/12/11 Ver 1.300
今ひとつ使いにくく制限も有ったので大きくメッセージのやり取りを変えて TaskMenu と TaskSwch と 同じ様に使用できる様にして連携も良くしました。
2005/12/20 Ver 1.310
コマンドライン SW を整理して基本的には常駐の方向にしました。此により サイズ 又 無駄な所も削れました。
2006/02/13 Ver 1.312
/W オプションの無い時には確実にキー入力を受け付け又タスクのメニュー以外のクリックで確実にキャンセル 出来る様に常駐している TaskSwch をアクティブにする様にしました。
2006/03/07 Ver 1.313
コマンドラインの取得解析を効率化しています。
2006/03/26 Ver 1.330
ToolWindow 排除 SW /L 最小化 Windows 排除 SW /S を新設しました。
2006/09/08 Ver 1.340
メニューが出た後のキャンセルが他の場所のクリックですぐに出来る様に TaskSwch を 変えたのに伴う改良で 若干余分な事が減りました。
2007/07/01 Ver 1.360
タスクのメニューを出した時にメニューの一番始めのフォアグランドだったウィンドウを一つだけ選択した時に 此をクローズする /F SW オプションを加えました。
2009/05/06 Ver 1.400
コマンドライン解析部分を若干ですが効率化しました。Windows 98 用のメモリマネージャー用の 読み込み時間短縮オプションをやめてアプリケーションの サイズ ( ディスク サイズ )を縮小しました。
2009/05/30 Ver 1.410
キーボードで操作する方の為にポジション指定のコマンドラインにマウスカーソルを此に動かさない /100'200の書式を加えました。
2009/08/14 Ver 1.412
ループ脱出条件が整わずにメモリー違反が出てしまう可能性が有る所を修正し立ち上げ時のコードを若干効率化 しました。
2014/09/05 Ver 1.510
TaskSwch のメニューと設定を変えたので同様に対処しました。

最新版 09/05 2014 Ver 1.510 Size 5 kb  TaskMenu のダウンロード
−戻る−