1: protected void SomeMethod()
2: {
3: ManagementScope scope = new ManagementScope("root\CIMV2");
4: scope.Options.EnablePrivileges = true;
5: string Win32_USBControlerDevice = "Select * From Win32_USBControllerDevice";
6: ObjectQuery query = new ObjectQuery(Win32_USBControlerDevice);
7: ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
8: foreach (ManagementObject mgmtObj in searcher.Get())
9: {
10: string strDeviceName = mgmtObj["Dependent"].ToString();
11: string strQuotes = "'";
12: strDeviceName = strDeviceName.Replace(""", strQuotes);
13: string[] arrDeviceName = strDeviceName.Split('=');
14: strDeviceName = arrDeviceName[1];
15: string Win32_PnPEntity = "Select * From Win32_PnPEntity "
16: + "Where DeviceID =" + strDeviceName;
17: ManagementObjectSearcher mySearcher =
18: new ManagementObjectSearcher(Win32_PnPEntity);
19: foreach (ManagementObject mobj in mySearcher.Get())
20: {
21: string strDeviceID = mobj["DeviceID"].ToString();
22: string[] arrDeviceID = strDeviceID.Split('\');
23: Response.Write("<br />");
24: Response.Write("<br />");
25: Response.Write("Device Description = "
26: + mobj["Description"].ToString());
27: Response.Write("<br />");
28: if (mobj["Manufacturer"] != null)
29: {
30: Response.Write("Device Manufacturer = "
31: + mobj["Manufacturer"].ToString());
32: Response.Write("<br />");
33: }
34: Response.Write("Device Version ID & Vendor ID = " + arrDeviceID[1]);
35: Response.Write("<br />");
36: Response.Write("Device ID = " + arrDeviceID[2].Trim('{', '}'));
37: Response.Write("<br />");
38: }
39: }
40: }