Using .Net (C#), how can you work with USB devices?
How can you detect USB events (connections/disconnections) and how do you communicate with devices (read/write).
There is a generic toolkit WinDriver for writing USB Drivers in user mode that support #.NET as well