============================================================================== "REMI" - Removables Eject and Mount Intelligence version 1.14 リムーバブルメディアを自在にEject/Open/Close ============================================================================== (注:アメージング・ディスカバリーのノリで) マイコンピュータからMOドライブを右クリックして「取り出し」を 選んでいるあなた! 間違って「フォーマット」を選びそうになったことはありませんか? それに、なぜ「閉じる」が無いのか不思議には思いませんでしたか? リムーバブルドライブの電源が本体の電源と連動しているあなた! メディアを取り出すのを忘れて電源を落としてしまい、メディアを 取り出す為だけに電源を入れ直した事はありませんか? MS-DOS や Human-OS や TOWNS-OS のファイラー等から、ワンキーで メディアをイジェクトさせていたことがあるあなた! 「いちいちマウスを使って右クリックメニューから選ぶなんて面倒だ!」 と思ったことはありませんか? そんなあなたにお薦めなのが, 今回ご紹介する"REMI"(レミ)です! 【機能概要および特徴】 ・リムーバブルデバイスのEject/Open/Closeを行えます。 SCSIだけでなくIDE接続やSoundBlaster接続なども制御可能です。 (ただし、電動イジェクト機構の無いものは操作できません) ・Windows終了時に自動的にメディアを排出させることができるので、 メディアの出し忘れを防ぐことができます。 ・Windowsが終了すると自動的に主電源が落ちてしまう環境のために、 終了時Ejectから一定秒後に自動的にCloseさせることができます。 ・システムトレイに常駐するので邪魔になりません。また、待機状 態においてCPUに負荷をかけることはありません。 ※さらに、他の同様なツールと比べて以下の特徴があります。 ・WinASPI経由で操作するので、Windowsにドライブとして認識され ないデバイス(テープストリーマ等)も制御可能です。 ・デバイスの情報を取得してそれをもとにコントロールを行うので、 ドライブレター(A: B:等)を変更しても、REMIの設定を変更する 必要はありません。 ・キーボードの操作だけでEject/Open/Closeさせることが可能です。 ・Eject/Open/Close時にそれぞれ好きなサウンドを鳴らせます。 ・Visual C++ で作成された純粋な32bitアプリケーションです。 【前バージョンからの変更点】 v1.13 -> v1.14 の変更点 ・PDのCD動作時にOPENできない場合への対応 ・タスクトレイにアイコンを表示させない方法を追加 【動作環境】 [OS] Microsoft Windows 95 Microsoft Windows NT(4.0以降) [Hardware] 上記OSが正常に動作する環境で、自動排出可能なリムーバブルデバ イス(CD-ROMやMOなど)が少なくとも1つ以上存在すること。 [Software] WNASPI32.DLLが必要です。 Win95の場合、WNASPI32.DLLは標準でインストールされています。 NTで動作させる場合、WNASPI32.DLLは別途必要です。SCSIカードに 付属していない場合はメーカーに問い合わせてください。 EZ-SCSI Proをインストールすると導入されるWNASPI32.DLLでは正常 に動作しません。Adaptecのサイトにあるアップデートファイルを使 用してください。 [Language] 標準では日本語リソースしか含まれていませんが、実行ファイルと同じ 場所に"REMILOCA.DLL"というファイルがあれば、それをローカル・ リソースとして使用します。詳しくは、英語版リソースDLLに含まれ るリソースファイルを参照してください。 【インストール方法】 LZHから任意のディレクトリ(フォルダ)にREMI.EXEを解凍して下さい。 ネットワークがセットアップされている環境では、"[ログイン名].INI"と いうファイルが作成されるので、他のツールと同じディレクトリ(フォ ルダ)には置かないようにして下さい。(ログイン名が無い場合には "REMI.INI"というファイル名になるので、ディレクトリ(フォルダ)は どこでも構いません) 【アンインストール方法】 REMI.EXE および 作成された *.INI ファイルを削除すれば完了です。 レジストリは使用しません。 【起動・終了方法】 実行すると、タスクトレイに常駐します。 終了するには、タスクトレイのアイコンを右クリックして表示される メニューから「終了」を選んで下さい。 v1.14から、タスクトレイに表示させずに常駐する方法を用意しました。 ショートカットを作成し、ショートカットのプロパティの「実行時の 大きさ」を「最小化」にしてください。この場合にはタスクトレイに アイコンを表示しません。もう一度REMI.EXEを実行すると設定ダイア ログが開きます。設定ダイアログの左下のアイコンをクリックするこ とでタスクトレイの右クリックと同じメニューが表示されます。 【操作方法】 タスクトレイのアイコンをクリックすると、デバイスの一覧が表示 され、デバイス名を選択することでEject(排出)が行われます。 デバイス名の後に close と表示されているメニューを選択すると、 ドアのクローズが行われます。(オープンとクローズが別になって いるのは、デバイスのトレーの開閉状態を知る事ができないためで、 これは仕様です)なお、ここに表示される文字列は自由に変更でき ます。 また、任意のショートカットキーを登録することによりキーボード 操作のみでEject/Open/Close動作が可能です。 【設定について】 タスクトレイのアイコンを右クリックして「設定(S)...」を選ぶか、 又はREMIが常駐している状態でさらにREMIを実行すると、設定ダイ アログが開きます。設定ダイアログではデバイス毎に以下の設定が 可能です。 【操作しない】 ここをチェックすると、一切の操作は行われなくなります。 コントロールしたくないデバイスや、コントロールできないデバイ スにチェックすると良いでしょう。 【トレー式(OPEN/CLOSE)】 チェックするとそのデバイスに対して Open / Close 動作を行うよ うに設定されます。(未チェック状態では Eject 動作のみ) デバイスがトレー式かどうかをソフトウェア側から知る事はできま せん。その為、ご使用の機器の形状に合わせてここを設定する必要 があります。 Eject では、コマンドを送る前にメディアが挿入されているかどう かをチェックして、メディアが挿入されていない場合にはコマンド を送信しないのに対し、Open / Closeではメディアが挿入されてい る/いないに関わらず、必ずコマンドを送信します。 初期状態では CD-ROM / CD-R / PD ドライブが最初からOPEN/CLOSEが 指定されています。お使いのドライブがキャディ式や吸い込み式の 場合にはチェックを外して下さい。逆に、これら以外のドライブで OPEN/CLOSEを行いたい場合はここをチェックして下さい。 【メディアの検出をしない】 IDE接続のLS-120などの一部のデバイスでは、メディアの挿入状態を ASPIコマンド経由で調べることができないようです。Ejectができな い場合にはここをチェックしてください。 【Windowsの終了時にEjectする】 ここをチェックすると、Windows終了時にメディアが排出されます。 『OPEN』ではなく『EJECT』なので、メディアが挿入されていない場 合には排出動作は行われません。(これはトレー式のデバイスでも 同じです) 多連装CD-ROM等で、複数のLUNにこのチェックを付けないようにして ください。プログラムではチェックしていません。 【一定時間後にCloseする】 ここは【トレー式】および【Windowsの終了時にEjectする】の両方が チェックされている場合にのみ、チェックすることができます。 チェックすると、Windows終了時のEject動作が働いた場合に、n 秒間 待ってからトレーのClose動作を行います。(この n秒はユーザーが 設定可能です(後述)) 【サウンド同期再生】 ここをチェックすると、WAVEサウンドを同期的に再生します。 SoundBlaster接続のCD-ROMドライブ や FM-TOWNSの内蔵CD-ROMドライブ ではOpen/Close動作中に割り込みを停止するらしく、サウンドを鳴 らしていると、サウンドが途切れたりループしたりするようです。 そのようなデバイスに対してチェックを行えば、このような症状は 起こらなくなります。(長いWAVEを指定すると、その間待たされる ことになるのですが…(^^;) 【メニュー表示】 システムトレイアイコンをクリックすると表示されるポップアップ メニューに表示される文字列をユーザーが設定できます。 標準では、デバイスタイプを判断して、以下のうちのいずれかが 設定されています。 リムーバブル ドライブ シーケンシャル デバイス CD-R ドライブ CD-ROM ドライブ MO ドライブ PD ドライブ これ以外のデバイスや、もしくは何らかの理由で正しく設定されて いない場合などに、自由に変更することができます。 "&"と組み合わせることでショートカットにする事もできます。 (例1:"MO ドライブ (&E:)"、例2:"CD-&R ドライブ") ここに何も入力しないとポップアップメニューから消すことができ ます。手動で閉じなければならないトレー式のCD-ROM等でcloseの 文字列を消したり、REMIでEJECTするとキャッシュがおかしくなる 640MBのMOなどでメニューから操作できなくすることができます。 (☆ v1.13 追加) 【EJECT/OPEN/CLOSEショートカット】 それぞれのショートカット・キーを指定します。 ここでキーを登録すると、タスクトレイのアイコンを操作しなくて も、キー操作だけで Eject/Open/Close を操作することができます。 1つのキーには1つの操作しか割り当てることはできません。警告 ダイアログが表示され、再設定を促します。 また、他のアプリケーションでショートカットキー(ホットキー) を設定している場合、既に設定されているキーは登録できません。 ※※※ 警告! ※※※ ショートカットキーに登録したキーは、他のアプリケーションから 使用することが出来なくなります! ショートカットキーは普段は絶対に使用しないキーに設定するよう にして下さい。(PC98なら[vf.?]キー、TOWNSなら[PF?]等) 個人的には、テンキーの記号キー等に設定するのも悪くないと思い ます。(私はテンキーを使わない人なので(^^;) DOS/V で Pause(Break) キーを設定しようとしても、何も表示され ませんが、実際には使用できるようです。これは Windows 側の仕様 だと思われます。他にも使用できない組み合わせがいくつか存在し ます。(^^;(special thanks to MUJI さん) FM-TOWNSでの拡張キー(EXTキー等)は、ショートカットキーとして は使用できません。また、一部のキーにおいて表示がおかしくなる ことがありますが、動作に支障はありません。これは FM-TOWNS 版 Windows95側の不都合のようです。(FM-TOWNS II HB(親指シフトモ デル)にて確認 special thanks to NegiKamo さん) ここから下の項目は全てのデバイスに共通な設定です。 【終了時にEJECTした場合、...秒後にCLOSEする】 終了時EJECT後のCLOSEまでの時間を指定します。標準では3.0秒です。 【サウンド】 必ず有効なサウンドファイル(WAVEファイル)を選んで下さい。 無効なパス名やファイル名だった場合や、何も入力していない場合 にはサウンドは再生されません。 参照とテストのボタンは共用です。参照結果を代入したいエディッ トボックスや、テストしたいWAVEを一度選択してから、ボタンを押 してください。 【マルチユーザ環境について】 各種設定を、.exe と同じディレクトリに "[ログイン名].ini" という ファイルに保存することで、マルチユーザ環境に対応しています。 (ログイン名の無い環境では "REMI.INI" が作成されます) また、起動時に"[ログイン名].ini"が見つからない時には、"REMI.INI" を参照するので、このファイルをあらかじめ作成(ある環境でのINI ファイルをリネームするか、もしくはESCでログインする等してログイン名 の無い環境で設定を保存)しておくことで、全ユーザーにデフォル トの設定を与えることができます。 【NT上で使用する際の注意事項】 ※※※ 注意! ※※※ MOドライブなど、ライトキャッシュが有効なデバイスに対してEject を行った場合、ライトキャッシュのフラッシュは行われませんので 注意して下さい。つまり、REMIでのEJECT操作は『手でEJECTボタン を操作するのと変わりがない』という事です。 (直接デバイスにコマンドを送っているだけだから当り前だけど) NTでの動作チェックは完全ではありません。あらかじめご了承くだ さい。 【お約束】 このソフトはフリーソフトウェアです。 このソフトの著作権は私(KEY)が所有します。 このソフトは無保証です。使用上の全ての責任は使用者にあります。 1.03からソースファイルを添付しました。 著作権侵害さえ行われなければ、自由に参照して構いません。 (添付のファイルだけでは実行ファイルは作成できません。 ビルドするにはそれなりの知識が必要です。あしからず。) 【転載条件】 転載は自由に行って構いません。連絡も特に不要です。 【宣伝】 以下のURLにおいてこのプログラムを公開しています。 http://www.alles.or.jp/~igarakey/program/remi.html 【参考文献】(順不同・敬称略) ftp://ftp.adaptec.com/pub/BBS/adaptec/aspi_w32.txt Copyright (C) Adaptec CD-DA to WAV file converter for Windows95/NT Copyright (C) もろぼし☆らむ 【謝辞】 β版の動作確認に協力して頂いたり、様々な要望を出して頂いた ZOB station BBS の モンプチさん、Smilin' Ear さん、ANK009さん、 YUUさん、そして CCS-BBS の NegiKamoさん、MUJIさん、Hx2さん、 ciscさん、む.さん、どうもありがとうございました。 そして、いつもバグ報告・感想などを頂いている皆様、本当にありが とうございます。本当ならばここにお名前を載せたいのですが、非常 に多くの方からメールを頂いているので、管理しきれていません... 【開発履歴】 0.10 97/01/05 イジェクトできるようになる 0.11 97/01/09 オープン/クローズできるようになる β1 97/04/10 システムトレイ,設定ダイアログ,終了時にEJECT,WAVE に対応 β2 97/05/01 ホットキー,マルチユーザ対応 メニュー文字列変更可能 βテスト開始 β2+1 97/05/02 ユーザ名が取得できなかった場合の処理を追加 β2+2 97/05/03 ホットキーの登録に不具合があったのを直す β2+3 97/05/05 スレッドが増えるバグ,CTRL+ALT+DELに応答しないバグを直す β2+4 97/05/07 PDドライブのチェックを追加 1.00 97/05/14 若干のサイズ縮小 細かなBugFix 正式公開 1.00.1 97/05/17 動的メモリ管理の不具合を直す 1.01 97/05/26 デバイスの再調査をできるようにした 1.01.1 97/05/31 PDのCD-ROM動作時の不具合を修正 1.02 97/06/01 Popupがすぐ消えてしまう不具合を修正 自動再調査 英語版 1.03 97/06/14 綴りの修正 細かなFix ソースファイル添付 1.03.1 97/07/04 OKとキャンセルのボタンのIDを変更 1.04 97/08/16 10秒後CLOSEを追加 LUN対応 PD対応 TOWNSの不都合回避 自動検出 1.05 98/01/23 終了時Closeの時間待ちの方法を変更 1.06 98/02/02 PC-98x1版Win95のDOS窓でESCが効かなくなる不都合を修正 1.07 98/02/08 scanerが表示されてしまう不具合を修正 1.08 98/02/10 デバイスの挿入状態を検出できないデバイス(LS-120,etc.)への対応 1.09 98/02/22 LUN0とLUN1が両方とも"OpticalDevice"なPDドライブへの対応 1.10 98/03/07 設定ダイアログのデザインを変更 CLOSE文字列も変更可能に 1.11 98/03/11 スレッド管理関数を追加 Hotkeyの不具合を修正 外部リソース対応 1.11.1 98/03/13 いくつかエンバグしていたのを修正 1.11.2 98/03/17 メディアチェックしない場合にEJECTできなかったのを修正 1.12 98/03/18 CLOSE文字列が変更できなかったのを修正 その他いろいろ修正 1.13 98/05/03 POPUPメニュー文字列を消すことができるようにする 1.13.1 98/06/20 PDのCD動作時にOPENできない場合への対策 1.14 98/06/23 タスクトレイアイコンを表示させない方法を追加 【開発環境】 Hardware PC-9821La10/5 ( CPU Pentium-100 / RAM 72M / HDD 2.1G ) PCSC-F ( IO-DATA / PCMCIA SCSI Card ) SCSI Devices SCSI#0 - OLYMPUS MOS331 ( Logitec LMO-P420 ) SCSI#1 - IO-DATA LS-120 ( IO-DATA FDS-120 ) SCSI#6 - TOSHIBA CD-ROM XM-3401TA ( ELECOM ECD-500 ) Software Windows 95 + Plus! Visual C++ 4.2 【連絡先】 ZOB station BBS 内の junk.soft2 「KEY's windows utility」にて サポートを行います。または下記のIDへ連絡して下さい。 ZOB station BBS ZOB16362 Minky Moon Network MMN00252 まんぼうの赤ちゃん NEK00028 TeaForMe TFM0005 CCS−BBS CCS00002 e-mail igarakey@alles.or.jp http://www.alles.or.jp/~igarakey/ KEY