C#: Auslösendes Event 'Harware hinzufügen'. Wie?

Hallo!

Irgendwie komm ich nicht weiter. Ich bastel schon seit einigen Tagen daran, direkt Systemereignisse abzugreifen. Einige Sachen bekomm ich hin, aber was nicht funktioniert, ist ganz speziell das hinzufügen / entfernen von Hardware über USB. Irgendwie bräuchte ich dies aber als auslösendes Ereignis in meinem Programm.

Ich hab schon einiges von irgendwelchen zusätzlichen DLLs, irgendwelche APIs und sogar Treiberprogrammierung gelesen, aber das ist nicht das Ziel. Da das „System“ ja auch direkt das Hinzufügen / Entfernen von Geräten am USB-Port regestriert, müssen ja eigentlich alle nötigen Mittel vorhanden sein. Man müßte nurnoch darauf zugreifen können. Nur Wie?

Ich bin für jede Anregung dankbar und danke schonmal im Vorraus.

Hallo!

Da gibt es ein paar Möglichkeiten. Einerseits könntest Du das per WMI machen (z.B. mal nach „wmi device events“ googlen) oder Du verarbeitest die WM_DEVICECHANGE Nachricht, die von Windows bei Hardwareänderungen an alle Toplevel-Fenster geschickt wird.
Letzteres habe ich schon gemacht, ist ein bisschen Aufwand, die entsprechenden Strukturen zu definieren und sich nach und nach durchzuhangeln, um den Typ der Hardware herauszufinden, klappt aber ansonsten problemlos. Wenn Du nach WM_DEVICECHANGE googlest, findest Du bestimmt auch entsprechende Beispiele.

Gruß,
Martin