USBメモリをマウントするには?


Aランチ  2006-05-18 01:41:04  No: 21582

USBメモリを挿入すると自動的に若いドライブにマウントされます。
ドライブ設定の違う複数のパソコンで使用する場合に
共通のドライブで使用できるように
各パソコンに共通して空いているドライブにマウントしなおす
プログラムを作ろうとしています。
USBメモリのマウント再設定を行うプログラムを作成するには
どうすればよいのでしょうか?

1.USBがどこに差し込まれたかを検知する
2.現在のUSBのドライブを知る
3.新しいドライブを与える(与えるドライブは固定)

とりあえず、これだけできればいいのですが
もっといいのはUSBを差し込んだ時点で自動的に
プログラムが立ち上がって再設定してくれればもっといいのですが
(常時起動で、ドライブを見に行くとか?)

(ちなみに、Delphiとは無縁になりますが
  プログラムを作成しなくても簡単にできる方法があれば
  それも教えてください。)


  2006-05-18 02:49:14  No: 21583

コンパネ−管理ツール−ディスクの管理
USBデバイスのドライブ文字とパスの変更で、ドライブ変更する。

これで、次回以降は指定のドライブにマウントされませんか?


Aランチ  2006-05-18 03:19:09  No: 21584

どうもです。

パソコンの電源を切らなければ設定は継続されるのですが問題ないのですが。
電源を落とすと、起動を行うたびに設定しなければなりません。
ので、デスクトップのショートカット一発で設定できればまだましかと
思ったのですが・・・

それから、追記なのですが、ドライブC:はHDDなのですが、
D:やE:はSUBSTで作成されています。


えーとね  2006-05-18 23:23:48  No: 21585

> 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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加