お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"RE:CD-ROM Drive の開閉"

この発言は
#01289 Fermion さんのRE:CD-ROM Drive の開閉
に対するコメントです

■概要 >  CD-ROM Drive の開閉を行う関数です。OpenCloseCDROMDrive( False ) で > Open、OpenCloseCDROMDrive( True ) で Close します。 nifty:FDELPHI/MES/16/1287 や nifty:FDELPHI/MES/16/1289 と 動作は同じですが、mciSendCommandでなく、mciSendStringを使ったサンプルです。 ■動作確認  ・PC9821 Windows95a + Delphi4  ・自作DOS/V機 Windows98SE で動作確認。  ・自作DOS/V機 WindowsMeで、DVD-ROMも開閉したとの報告もあります ■注意事項  ・エラーチェック・例外処理等は適当に補って下さい。  ・本サンプルは、ご自身の責任においてお試し下さい。 ■サンプルコード1 CDが1ドライブのみの場合 //====================================================================== uses MMSystem; {...略...} procedure OpenCloseCDROMDrive( fClose: Boolean ); begin mciSendString('open cdaudio', nil, 0, 0); try if fClose then begin mciSendString('set cdaudio door Closed', nil, 0, 0); end else begin mciSendString('set cdaudio door open', nil, 0, 0); end; finally mciSendString('close cdaudio', nil, 0, 0); end; end; {...略...} //====================================================================== ■サンプルコード2 CD-ROM,CD-R,CD-RWなど、複数のドライブを持っている場合 ドライブとalias を指定します。以下の例は、CDのドライブがQのとき //====================================================================== uses MMSystem; {...略...} procedure OpenCloseCDROMDrive( fClose: Boolean ); begin {aliasをcdromdriveとしたので、(1)〜(3)までが「cdaudio」でなく 「cdromdrive」となっていることに注意} mciSendString('open Q: type cdaudio alias cdromdrive', nil, 0, 0); try if fClose then begin mciSendString('set cdromdrive door Closed', nil, 0, 0);//-----(1) end else begin mciSendString('set cdromdrive door open', nil, 0, 0);//-----(2) end; finally mciSendString('close cdromdrive', nil, 0, 0); //-----(3) end; end; {...略...} //====================================================================== ■補足  Fermionさんのサンプルコードや、今回のサンプルコード1の場合、 コントロールパネルからマルチメディアを開いて「音楽CD」タブの 「CD-ROMドライブ」に指定しているドライブが開閉するようです。  Original document by おかぽん 氏 ID:(YIA00607)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum