EjctClse

最新版 07/15 2016
【ソフト紹介】
リムーバル メディア ( CD-ROM や MO DVD=RAM USBメモリー等 ) を Eject ( Open ) Close する物です。

【 特徴 】
常駐しないで現存する リムーバル メディア を オープンクローズ します。
Eject だけでなく Close も出来ます。メディア が入っている時には FileBuff を Flush ( 書き込んで ) してから取り出しますので遅延書き込みに設定していても安全に取り出せます。
コマンドライン で全ての動作を指定できるのでランチャー等からの使用にも便利です。
USB ドライブ等の取り外しは /U オプションを付ければ認められます。( 但し 付けなくても取り出しを 選択すれば外しても安全にはなります。)

【 動作環境 】
Win 2000 / XP / NT 4.0 / Vista / 7 / 8 ( Win 95 98 Me 環境では働きません。)特別なランタイムはいりません。
 
【使用方法】
ただ立ち上げてください。リムーバル メディア が一つしかない時にはそのドライブを オープンクローズ します。 二つ以上有る時には全ての リムーバル メディア をドライブレターと共に順にメニューにします。
メディア が入っている時には 開閉 が取り出しとなります。後はメニューを選択すればそのドライブが オープンクローズ出来ます。メニューが出ている時にドライブレターのキーを押せばそのドライブを選択 した事になります。取出しとなっている時に Space キーを押すとそのドライブがオープン出来ます。
( Space キー は 2 つ以上取り出しとなっている時には上の方が選択されます。)
( ドライブがオープン している時は クローズ、クローズしている時は オープン です。)
ドライブをオープンした後は必ずそのドライブを閉じるのメニューを出したい時はコマンドライン SW /A で立ち上げて下さい。閉じるのメニューが出るので此を選択すれば再び閉じる事が出来ます。
メディア が入っている時に 読み出していたり 書き込んでいたりして 現在 取り出せない時には メッセージ音と共に ドライブ D: は作業中です。のメッセージを出して終了します。

・コマンドライン はドライブレター / 開閉 / 位置指定 を受け付けます。
 EjctClse.EXE [G:\ or G:] [/E or /C or /R or /F ] [/A] [/200,300]
  ( 続けて /AC は認めません /A /E として下さい。)
で G ドライブが CD-ROM か リムーバル メディアならメニューを出さずに開閉します。
/E で Eject /C で Close になります。( その状態の時は何もしません。)
 ( こちらの直接ドライブ指定の方が動作リソースはだいぶ少ないと思います。)
/E Eject トレイを開きます。
/C Close トレイを閉じます。
/R メディアが入っている時だけ反応しトレイを開きます。複数ドライブにメディアが入っている時は その入っているドライブをメニューにします。( /C /E /F に優先します。)
/F Eject ですが メディアが入っている時はトレイを開きません。
/A ドライブをオープンした後はそのドライブを閉じるのメニュー G: CD-rom 閉じる のメニューを出します。
/A5000 ドライブを閉じるのメニュー G: CD-rom 閉じる のメニューを出して 5000ms 後に閉じます。 此の時にはメニューにチェックが付きます。此のメニューを選択るか Space キーを押せば時間が 来なくても再び閉じる事が出来ます。閉じるのをキャンセルする時は他の場所をクリックしてメニューを 消して下さい。
/M 候補が一つしかなくても必ずメニューを出して選択 キャンセルが出来る様にします。
/U 取り出すのが USB 大容量記憶装置デバイス ( USB メモリー等 ) の時は ハードウェアの安全な取り外し までします。
Windows 7 ではこのトレイアイコンが無いのですが 此で取り外すと出てきて ・・・は 安全に取り外せます。と出るので精神安定上良いかも知れません。
/V USB ドライブを 取り外した後で 自身も "ドライブ D: は安全に取り出せます。" のメニューを出します。
複数のUSBドライブを最初からアサインしている機器の場合はドライブレターが入るので取り外した物が解り 易くなるかと思います。
/U /V で USB 器具が外された時には ドライブ D: は安全に取り外せますのメッセージになります。
此らの メッセージは そのままにしておいても 約 5秒後 に消えます。
/X 通常では 現在 取り出せない時には弾かれますが 此が有ると 強制的にメディアを Edject します。
  メニュー選択の Control キー同時押しで此と同じ効果が得られます。
  ( /X のある時には此をキャンセルします。)
/200,300 左から 200 上から 300 ピクセルにカーソルを置いてメニューを出します。
/200 なら左からだけの /,300 なら上からだけの位置指定になります。

・立ち上げ時のキーオプション
立ち上げ時に 無変換キーを押していると /R SW と同様メディアが入っている時だけ反応します。
但し /R と違うのは G:\ 等のドライブレター も無視してメディアが入っている物をエジェクトします。
此は コマンドライン オプション /C /F に優先します。
・メニュー選択の Control キー同時押しで 強制的にメディアを Edject します。

複数ドライブが有っても( 単独のドライブしか無い時はもちろん ) コマンドラインによって候補が一つしか ない時は直接そのドライブを動作させます。( メニューは出ません。) 又 コマンドラインによっては明らかに 変化が無い時にはなにもしないで終了します。

・アンインストールは実行ファイルEjctClse.EXE を削除してください他には何も記録しません。 当然使用した結果に対しては無保証です。

【 履歴 】
2001/08/19 Ver 1.000 ・初公開
2001/08/29 Ver 1.010
同じドライブに Open / Close は必要ない ( Open している時は Close だしClose している時は Open しかないので ) ので此をプログラムで処理して統一しドライブレターのショートカットを入れました。又ドライブの コマンドラインを加え直接動作にも対応しました。
2001/12/07 Ver 1.020
自己満足的なコードの整理により多少サイズダウンしました。
2002/07/23 Ver 1.030
Eject Closeの動作中は此のプログラム中では制御を返さない事を表示する為の 表示フラッグの様な Eject / Close の ウィンドウを出す事にしてタイミングを解り易くしました。
2002/08/13 Ver 1.040
ランチャー等から呼ばれる事を考えて 開閉 だけでなく 閉じる だけ 開くだけの オプション スイッチ /C /E を付けました。又 Eject Close の動作中の フラグは冗長なので廃止しサイズダウン リソース使用の軽減をしました。
2003/04/13 Ver 1.050
大した文字列が有るわけでは無いので文字列リソースをやめて直接書き込む コードにし 又 必要の無いコードを削除してスピードアップサイズダウンを計りました。後コマンドライン に 多少柔軟性を持たせ ドライブ指定も G: G:\ 両方認める様にしました。
2003/04/21 Ver 1.060
コマンドラインが "" で囲まれている事に対処し此処のコードを安全な方向に振りました。又ドライブによっては タイミングにより閉じない物があるので此の待ち時間を変えたEjctCl12.lzh もダウンロードできる様にしました。
2003/09/19 Ver 1.070
ある種の環境やプログラムによって Removal Media の エジェクトロック が 掛けられる事が有ると 以前の EjctClse では Eject が出来無かったので 此の エジェクトロックを 解除するコードを入れて常に Eject が出来る様にしました。その他動作の安定の為多少コードを 改善しています。
2004/01/03 Ver 1.100
リムーバル メディアが一つの時にはメニューを出さずに直接開閉する様にしました。メニューを出して 取り出す物が有る時には Space キーで即 Eject 出来る様にしました。 メニューを作る所を効率化しました。( と言っても大したメニューでもないので大した事もない。)
2004/05/17 Ver 1.110
取り出す物が有る時に メニューのショートカットのドライブのキーが無効になってしまっていたので 此を修正しました。
2004/06/20 Ver 1.200
開いた後は必ず閉める事になるので開いた後にはその ドライブを閉める メニューを出す オプション SW /A を加えました。又 コマンドラインの解析の効率を良くし E: / EC の順序もどちらでも認める様にしました。後 効果は ??? ですが気の着いた所の不具合の出そうな所の ガードを固めました。
2004/08/07 Ver 1.220
メディアが入っている時だけ取り出す動作をするオプションが有ると良いとのご希望が有りましたので 此に対応したコマンドラインオプション /R を新設しました。又 全体として余分な動作はしない方向性で 統一を取りました。
2004/09/30 Ver 1.230
/A オプションで開けた後のメニューの E: CD-rom 閉じるに メディアが入っているいないに関わらず Space キーを押せば閉じる様にしました。又 自分のWindow はより簡潔な物にし 又メディアが入っている時の 書き込み動作の確認をしてから Open する様にしました。
2004/10/27 Ver 1.232
書き込み動作の確認の確認が厳しすぎて CD_ROM が Edject 出来ない不具合を修正しました。
2004/11/20 Ver 1.240
ランチャー等からの使用を考えてメニューの位置指定を出来る様にしました。
2004/11/20 Ver 1.241
位置指定のコマンドラインの解析を効率が良く軽い物に改良しました。
2005/01/31 Ver 1.250
時間のかかる時や動作中に小さな Window を表示する事にして動作中 で有る事を表示する様にしました。 又 コマンドラインの順序の制限を無くしドライブ等のドロップでも確実に動作する事が出来るようにしました。
2005/02/14 Ver 1.260
立ち上げ時に無変換キーを押しているとメディアが入っている時だけ反応する /R SW と同じ動作をする機能を 加えました。位置指定が有って時間のかかる時のマウスカーソルの位置の整合性を取りました。 後 内部的なメッセージを無駄のない API 本来の機能を使用しました。
2005/03/23 Ver 1.261
環境によってウィンドウの幅が足りずに文字表示がおかしくなるのを修正しました。
2005/03/29 Ver 1.262
Ver 1.261 で修正したつもりが完全で無かった様で Win XP で画面のデザインの状況によってはまだ出る ようなので高さ方向/幅方向 別々に Window のサイズを合わせる様にしました。
2005/04/04 Ver 1.263
ランチャーやまだ他のメニューが出ている時などに呼ばれた場合に確実に自分をアクティブにしてメニュー外の クリックで確実にキャンセル終了できる様にしました。
2005/04/17 Ver 1.264
メニューを出すのに必要の無いと思われる余分な Call をやめ出来るだけ他に影響を及ぼさない事にしました。 余分な Call が無い分だけサイズも減っています。
2005/11/19 Ver 1.270
関数を一つ減らして多少なりとも速くサイズ共に改善できました。又 コマンドラインの柔軟性を高めしました。
2006/02/27 Ver 1.280
候補が一つしかなくてもメニューを必ず出す /M SW をコマンドラインに新設しました。 又 此の辺りの動作を解りやすくする為にコードを大幅に変更整理して若干のサイズダウン プログラム的には スピードアップをしています。
2006/05/11 Ver 1.290
ドライブをオープンした後でそのドライブを閉じるのメニューを出す /A オプションに 指定時間後に閉じる /A5000 を加えました。
2006/09/06 Ver 1.300
ドライブにメディアが入っていない時だけエジェクトするコマンドスイッチ /F を新設しました。
2007/05/17 Ver 1.310
ドライブを開閉中は動作中と判りやすくする為にカーソルを砂時計で表示する様にしました。
2008/04/25 Ver 1.320
ショートカットの汎用性を高める為に立ち上げ時の無変換キーオプション はG:\ 等のドライブレター も無視してメディアが入っている物をエジェクトする様にしました。
2008/11/24 Ver 1.330
立ち上げのされ方によっては自分がフォアグラウンドになれずにメニューの動作が通常と違ったりキー入力を 受けていなかったりする事があるので自分が確実にフォアグラウンドになる為のコードを付加しました。
2009/04/05 Ver 1.340
EjctClse は NT 専用で全く無駄だった Windows 98 用のメモリマネージャー読み込み時間短縮オプションを やめてアプリケーションのサイズ ( ディスクサイズ )を縮小しました。
2010/02/20 Ver 1.350
ドライブを確認するのに初めに有効なドライブを確認して始めるコードにして余分なドライブの確認/識別ループを 省ける様になり立ち上がりが多少なりとも速くなりました。( ドライブの数によって違いますが此の部分だけなら 10 倍 以上のスピードアップになます。)
2010/12/24 Ver 1.352
他のプログラムに制御を移しその結果を待つのを確実にシステムに制御が移り結果が出るのを待機出来るコードに しました。
2011/08/26 Ver 1.360
ドライブレターのメニューを選択する時に マウスの右クリックで選択すると コマンドラインの /A SW 指定と逆動作にする機能を付加しました。
2012/01/27 Ver 1.400
取り出すのが USB 大容量記憶装置デバイス ( USB メモリー等 ) の時は ハードウェアの安全な取り外し までして デバイスを見えなくしてしまうオプション /U と メニューの 右クリックはこの機能を反転させる 機能を加えました。
2013/01/30 Ver 1.500
コマンドライン /V を新設して 取り外した ドライブを自身で表示出来る様にして カードリーダーは取り外さないで メディアだけを取り出す様な機器や 複数のドライブレターを最初からアサインするタイプへの対応と どの メモリーを取り出したかの確認を し易い様にしました。
メディア が入っている時に 読み出していたり 書き込んでいたりして 現在 取り出せない時には 安全の為に メッセージと音を出して終了する様にしました。
内部的な ウィンドウを作る時により基本に忠実で確実な方法に変えました。
2013/03/17 Ver 1.510
コマンドライン /X と メニュー選択の Control キー押しを新設して 他で使用中のドライブでも弾かれずに 強制的に取り出す事が出来るオプションを付加しました。
2014/02/25 Ver 1.520
環境によっては ドライブをエジェクト( オープン )した後にクローズする オプション /A の動作時に エジェクトしてからの プログラム動作が早すぎて ドライブが安定していない時に認識動作に入ってしまい 認識動作から帰れずに此から抜け出せないで 最悪の場合自分が残ってしまう事が出るのを 防止するタイミング と 確認動作の仕方を分ける事で より早く安定して動作する様にしました。
2015/07/18 Ver 1.530
DPI の仮想化による スケーリングの影響でメニューの文字が滲んで表示されてしまう事が無いように 内部的には スケーリングに対応している事を 宣言する事で OS のスケーリングの 影響を受けない様にしました。
2016/03/10 Ver 1.540
/U スイッチで 取り出すのが USB 大容量記憶装置デバイス の時に ある種の USB3.0 ハブの時に 取り出し動作が思わしくない時が有るので取り外す所のコードを変えました。
2016/07/15 Ver 1.550
COM 使用は スレッドで宣言しておく事にし ウィンドウの内部スタイルを実情に 合った物に変えました。

最新版 07/15 2016 Ver 1.550 Size 10 kb EjctClse のダウンロード

ドライブによっては開いているのを開こうとした時にかなり反応時間が遅い物が有るようでこの様な物に 対しては開いたと認識して閉じる事ができません。( /C オプションなら閉まります。)
この反応時間が遅いドライブに対応したのが EjctCl12.EXE です。ただ 他に使用中のドライブで 開く時に 反応の早い物が有るとそのドライブは今度は開いていたと認識されて Open してまたすぐ Close になって しまいます。この様なドライブが有る時には 此の EjctCl12.EXE の使用はやめて通常版を使用して 閉じる時には /Cオプションで使用して下さい。
又 ドライブ の反応時間によっては開閉動作が不安定になる事も有るかも知れません。
 EjctCl12のダウンロード Size 5 kb
−戻る−