リムーバブルディスク挿入の検知


伊藤美紀  2008-07-07 20:39:41  No: 31153

常駐して、リムーバブルディスクが挿入された事を検知したいのですが、
中々良い方法が見つかりません。
よろしくお願い申し上げます。


Manbon  2008-07-07 23:08:41  No: 31154

USBメモリでは反応しました。

{ Private 宣言 }
procedure DEVICECHANGE(var Msg: Tmessage); message WM_DEVICECHANGE;

procedure TForm1.DEVICECHANGE(var Msg: Tmessage);
const
  DBT_DEVICEARRIVAL        = $8000;
  DBT_DEVICEREMOVECOMPLETE = $8004;
begin
  case Msg.WParam of
    DBT_DEVICEARRIVAL: showmessage('入');
    DBT_DEVICEREMOVECOMPLETE: showmessage('出');
  end;
end;


ofZ  2008-07-07 23:17:43  No: 31155

キーワード
WM_DEVICECHANGE, DBT_DEVICEARRIVAL, DEVICEREMOVECOMPLETE

資料
DBT_DEVICEARRIVAL=$8000;
DBT_DEVICEQUERYREMOVE= $8001;
DBT_DEVICEQUERYREMOVEFAILED=$8002;
DBT_DEVICEREMOVECOMPLETE=$8004;
DBT_DEVICEREMOVEPENDING=$8003;
DBT_DEVICETYPESPECIFIC=$8005;

参考URL
http://support.microsoft.com/kb/163503/ja
http://oshiete1.goo.ne.jp/qa3111387.html


ofZ  2008-07-07 23:26:38  No: 31156

あぁ・・・ちょっと他のことしている間に、ズバリのレスついてた。

Manbonさんも書いているけど、USBメモリの抜き差しやCDの挿入・排出等、
いろいろなイベントで発生します。
Bluetoothアダプタとか、USB無線LANアダプタの抜き差しとかでも発生するんじゃないかな。


とおりすがり  2008-07-08 10:12:11  No: 31157

ここも役立つ
http://www.codeproject.com/KB/system/HwDetect.aspx


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

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






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