Frage

Hallo Ich möchte etwas tun, wenn ein Memory-Stick an den PC gebunden. Ich nun einen Timer verwenden und überprüfen Sie es in jedem Tick, ob ein Memory-Stick eingesteckt ist (verwenden Sie Driveinfo oder mit Abfragen von WMI) Gibt es ein ereignisgesteuerte Modell zur Verfügung zu tun? zum Beispiel verwende ich ein Ereignis in meinem Programm, dass Gehaltserhöhung, wenn ein Memory-Stick wird in dem Computer angeschlossen?

War es hilfreich?

Lösung

Sie möchten behandeln die WM_DEVICECHANGE Nachricht in Ihrem Wndproc. Wenn Sie damit umgehen, können Sie auch RegisterDeviceNotification rufen Benachrichtigung zu erhalten, dass der Stick sauber ausgestoßen wird.

Wenn Sie eine WM_DEVICECHANGE empfangen, möchten Sie die WParam überprüfen - DBT_DEVICEARRIVAL (0x800) ist das, was Sie suchen

.

In C ++, sollten Sie keine Probleme mit dem Wndproc haben. In c #, mögen Sie Ihr Hauptformular WndProc Verfahren und die Prüfung m.Msg == 0x219 und m.WParam == 0x800. Beachten Sie, dass nicht alle diese wird ein Memory-Stick sein -. Sie können dies aber verwenden Sie zu benachrichtigen, für Laufwerk Einsetzen zu überprüfen, anstatt einen Timer

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top