USBメモリを挿入すると自動的に若いドライブにマウントされます。
ドライブ設定の違う複数のパソコンで使用する場合に
共通のドライブで使用できるように
各パソコンに共通して空いているドライブにマウントしなおす
プログラムを作ろうとしています。
USBメモリのマウント再設定を行うプログラムを作成するには
どうすればよいのでしょうか?
1.USBがどこに差し込まれたかを検知する
2.現在のUSBのドライブを知る
3.新しいドライブを与える(与えるドライブは固定)
とりあえず、これだけできればいいのですが
もっといいのはUSBを差し込んだ時点で自動的に
プログラムが立ち上がって再設定してくれればもっといいのですが
(常時起動で、ドライブを見に行くとか?)
(ちなみに、Delphiとは無縁になりますが
プログラムを作成しなくても簡単にできる方法があれば
それも教えてください。)
コンパネ−管理ツール−ディスクの管理
USBデバイスのドライブ文字とパスの変更で、ドライブ変更する。
これで、次回以降は指定のドライブにマウントされませんか?
どうもです。
パソコンの電源を切らなければ設定は継続されるのですが問題ないのですが。
電源を落とすと、起動を行うたびに設定しなければなりません。
ので、デスクトップのショートカット一発で設定できればまだましかと
思ったのですが・・・
それから、追記なのですが、ドライブC:はHDDなのですが、
D:やE:はSUBSTで作成されています。
> USBがどこに差し込まれたかを検知する
XP 以降なら、WMI でWin32_DiskDrive やWin32_USBControllerDevice を条件に
ExecNotificationQuery を発行して検知すると良いと思います。
ExecNotificationQuery についてはVBのサンプルですが。
http://wmifun.atinfinity.net/wmistep/step09.html
WMI の初期化は過去ログを見てください。
https://www.petitmonte.com/bbs/answers?question_id=465
ツイート | ![]() |