CDドライブを取り出し不可にするには?


nine  2003-03-11 11:09:03  No: 77359  IP: [192.*.*.*]

CD上からプログラムを実行しているのですが途中で取り出されてしまうとブルーバックになってしまいます。単純にCDドライブのイジェクトをロックするといいと思ったんですけど、どなたか分かる方はいらっしゃるでしょうか?
よろしくお願いします。
環境はWin98SE、VB6です。

編集 削除
Kenji  2003-03-11 21:01:24  No: 77360  IP: [192.*.*.*]

ドライブのロックは難しそうなので…
MSDNで調べていたら、EXEファイルのヘッダ(起動時にWindowsのローダによって読み込まれる)
に次のようなものがありました。
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
PEファイルがリムーバブルメディア(着脱可能ディスク)上にある場合はスワップファイルへコピーして実行することを示します。
参考にしたHPはhttp://www5e.biglobe.ne.jp/~randy/wps/backnumber/wps0005.txt
です。
コンパイルした後のEXEファイルをバイナリエディタなどで編集すればいいのですが、
Windows(MSDOS?)にEDITBINというソフトがあるようです。Win2000ではインストールされているようです。
詳しくは
http://www.compaq.co.jp/products/dvf/docs/vf-html/pg/pg26_09.htm
を見てください。

コマンドプロンプトを起動し、EXEファイルのあるフォルダに移動し
EDITBIN /SWAPRUN:CD (EXEのファイル名)
とすればできるようです。やってないのでできるかどうかわかりません。

編集 削除
nine  2003-03-13 11:31:59  No: 77361  IP: [192.*.*.*]

遅くなってすみません
Kenjiさんレスありがとうございます
EDITBINを使用して試してみたんですけど、やはりやはりブルーバックになってしまいうまくいきませんでした。
一応、HDDにはスワップファイルはできてはいるんですが・・・
とりあえずもう少しこの方法に関しては調べてみます。

もし他に何かわかりましたら、又ご教授下さい。
お願いします。

編集 削除
Loreley  2003-04-12 10:27:00  No: 77362  IP: [192.*.*.*]

いまさらもう見ていないかもしれませんが、
サンプルをみつけたので

http://www.mvps.org/vbnet/index.html?code/disk/deviolock.htm

編集 削除
Loreley  2003-04-12 10:28:39  No: 77363  IP: [192.*.*.*]

あ、しかも環境あってない(^^;
win98だとサンクしないとだめですね。

編集 削除
岡田 之仁  2003-05-18 00:51:22  No: 77364  IP: [192.*.*.*]

はじめまして。

もうかなり経過してしまっておりますが・・・

ずいぶん昔にコード書いたのですが・・・見つからなくて・・・
そのものズバリのコードがありましたので、参考までに・・・

http://plaza5.mbn.or.jp/~heropa/vb31.htm

ここをご参照下さい。

以上。

編集 削除