C# – Getting the port name of a connected USB device

cusbwindows

When a USB device is connected to the computer, how can I get the PORT name which it is connected using C# code.
I found many ways to find when a USB is connected, disconnected, drive letter, path, device id etc. but didn't find any clear example on how to know to which port it got connected. I saw one possible explanation but that involves lot of pinvokes which I totally don't understand.
I like to believe there are more direct and easy ways to get such info in c# alone, without using any unmanaged code.

Best Answer

USB ports don't have names. It is a bus, it doesn't matter what connector you use. Just like it doesn't matter where you plug in a card in the bus inside of the machine.

If you are actually talking about a USB device whose driver emulates a serial port (like "COM5"), pretty common, then you can get some info about the driver out of a WMI query, Win32_SerialPort class. Use the WMI Code Creator tool to play with such a query and to auto-generate the C# code you need.

Related Topic