1

こんにちはPCにメモリースティックを取り付けたら何かしたいです。今、私はタイマーを使用し、メモリースティックが接続されているかどうかをチェックするたびにチェックします(DriveInfoを使用するか、WMIのクエリを使用します)実行可能なイベント駆動型モデルはありますか?たとえば、メモリスティックがコンピュータに接続されるたびに発生するイベントをプログラムで使用しますか?

4

1 に答える 1

1

wndprocでWM_DEVICECHANGEメッセージを処理したいとします。RegisterDeviceNotificationそれを処理するときは、スティックがきれいに排出されているという通知を受け取るために 呼び出すこともできます。

を受け取ったらWM_DEVICECHANGE、wParamを確認します- DBT_DEVICEARRIVAL(0x800)が探しているものです。

C ++では、wndprocに問題はありません。C#では、メインフォームのWndProcメソッドをオーバーライドして、とを確認する必要がm.Msg == 0x219ありm.WParam == 0x800ます。これらのすべてがメモリースティックになるわけではないことに注意してください。ただし、これを使用して、タイマーではなくドライブの挿入を確認するように通知できます。

于 2010-10-05T12:43:27.073 に答える