プロが教える店舗&オフィスのセキュリティ対策術

mci "set CDAudio door open"
で開く
mci "set CDAudio door closed"
で閉じる
ということはわかりました。

ところで
プログラムを起動したら
「トレイが閉じていたら、開く」
「トレイが開いていたら、閉じる」
というプログラムを作成したいのです。

IF文を使ってトレイがあいているか閉じているかを
調べればいいと思うのですが、
どうやればいいかわかりません。

教えてください。

A 回答 (3件)

いろいろと探してきましたが無理なようです。

^^;
stat値がいつも0なのはそれ自体の命令がちゃんど動作しているからです。
つまり、mciコマンドが送れたらそれだけで成功ということになります。この場合のエラーは、コマンドが間違っているぐらいです。

ひとつそれと似たようなことが出来るのですが、

exist "chk.txt":if strsize=-1:bsave "chk.txt",dat
str dat
bload "chk.txt",dat,1
int dat
if dat=0:mci "set CDAudio door open"
if dat=1:mci "set CDAudio door closed"
if dat=0:dat=1:else:dat=0
str dat
bsave "chk.txt",dat ,1
end

です。このまま実行することが出来るようになっている。HSPのスクリプトです。
 これは、chk.txtの内容を読み込んで0ならCDトレイをオープンし、1だったらCDトレイを閉じて、次の起動時に、今やった動作と別の動作をするようにdatの値を変え保存する。スクリプトです。
欠点は、始めの起動が必ずオープンになってしまうことぐらいです。
内容は求めているものと近い思います。
HSPプログラミングがんばってください(^ヮ^
    • good
    • 0
この回答へのお礼

久しぶりに過去の投稿を見ていました!

ありがとうオございます

早速やってみます!!

お礼日時:2003/11/15 01:14

CDドライブの開閉状態の取得方法


http://forums.belution.com/ja/vc/000/153/83s.shtml

MCIコマンドではCDドライブのトレイの状態は厳密には分からないようです。

HSPのマニュアルのmciの項には
>mciに命令を送った場合の結果はシステム変数statに反映されます。
とあります。
open, close ではエラーにならないかもしれませんが。

参考URL:http://forums.belution.com/ja/vc/000/153/83s.shtml

この回答への補足

VCですか・・・・

HSPでは無理ですか?

ちなみに開いているときにOPENしても
statは0のままでした・・・

補足日時:2003/08/04 14:19
    • good
    • 0

http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/98 …
http://www.silkroad.ne.jp/sakura/web/main/tips/b …

実際にプログラミングしたことがないのですが、
上記URLを参考にできませんか?
ステータスの取得ができない場合は、とりあえず、openを
実行して、もしエラーとなたら close を実行にするという手もあるようにあきがします。

この回答への補足

そこを見たんですが・・・・

では、たとえのとうりに
「OPENしたらエラーだった!」
ということを判断するにはどうしますか?

補足日時:2003/08/04 12:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!