Fill out a new answer according to your updated answer. You can check the connected USB device:
ManagementScope sc = new ManagementScope(@"\\YOURCOMPUTERNAME\root\cimv2"); ObjectQuery query = new ObjectQuery("Select * from Win32_USBHub"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(sc, query); ManagementObjectCollection result = searcher.Get(); foreach (ManagementObject obj in result) { if (obj["Description"] != null) Console.WriteLine("Description:\t" + obj["Description"].ToString()); if (obj["DeviceID"] != null) Console.WriteLine("DeviceID:\t" + obj["DeviceID"].ToString()); if (obj["PNPDeviceID"] != null) Console.WriteLine("PNPDeviceID:\t" + obj["PNPDeviceID"].ToString()); }
(see MSDN WMI Task Examples ) for this)
or view any COM ConnectedDevice
ManagementScope sc = new ManagementScope(@"\\YOURCOMPUTERNAME\root\cimv2"); ObjectQuery query = new ObjectQuery("Select * from Win32_SerialPort"); searcher = new ManagementObjectSearcher(sc, query); result = searcher.Get(); foreach (ManagementObject obj in result) { if (obj["Caption"] != null) Console.WriteLine("Caption:\t" + obj["Description"].ToString()); if (obj["Description"] != null) Console.WriteLine("Description:\t" + obj["DeviceID"].ToString()); if (obj["DeviceID"] != null) Console.WriteLine("DeviceID:\t" + obj["PNPDeviceID"].ToString()); }
(see ActiveX Experts for more information on this)
source share