Event, wenn USB Gerät angeschlossen o. abgezogen wurde?
-
Hallo Leute,
ich will ermitteln wann ein USB Device , in meinem fall ein Dongle/Data Storage angeschlossen oder abgezogen wurde.
Ich hab bischen gegoogelt, und die "ICSharpCode.USBlib" gefunden.. die is aber bischen schlecht dokumentiert, und bevor ich mich da reinarbeite, wollte ich fragen ob ihr vll. was besseres kennt?
Ich will nur wissen wann ein USB Geräte angeschlossen oder getrennt wurde, will keine daten davon lesen etc.
grüße
-
http://msdn.microsoft.com/en-us/library/aa363205%28VS.85%29.aspx
sucht du sowas?
-
Hi,
vielleicht ist die HIDLib etwas für dich
ansonsten aber würde ich noch den WMI Explorer empfehlen um die jeweiligen win23 prozesse zu ermitteln, damit kannst du dann mittels ManagementObjectSearcher direkt auf die Geräte zugreifen. (Select * From Win32_USBControllerDevice")
Ein Beispiel für "Getting the USB Devices Information using WMI" findest du hier
-
Bei der ersten Post (Variante) brauch ich ein fenster, um über die entsprechende Winapi Funktion an die "WinProc" zu kommen:
[PermissionSet( SecurityAction.Demand, Name = "FullTrust")] protected override void WndProc(ref Message m) { if (m.Msg == WM_DEVICECHANGE) { var id = m.WParam.ToInt32(); if (id == DBT_DEVICEARRIVAL) { OnUsbDeviceArrived("DBT_DEVICEARRIVAL"); } else if (id == DBT_DEVICEREMOVECOMPLETE) { OnDeviceRemoved("DBT_DEVICEREMOVECOMPLETE"); } } base.WndProc(ref m); }
und über WMI .. hmm.. naja is auch net schön...