private string GetComPortInfo() { var list = new ArrayList(); ManagementClass win32_pnpentity = new ManagementClass("Win32_PnPEntity"); ManagementObjectCollection col = win32_pnpentity.GetInstances(); Regex reg = new Regex(".+\\((?<port>COM\\d+)\\)"); foreach (ManagementObject obj in col) { // name : "USB Serial Port(COM??)" string name = (string)obj.GetPropertyValue("name"); if (name != null && name.Contains("(COM")) { // "USB Serial Port(COM??)" -> COM?? Match m = reg.Match(name); string port = m.Groups["port"].Value; // description : "USB Serial Port" string desc = (string)obj.GetPropertyValue("Description"); // result string : "COM?? (USB Serial Port)" list.Add(port); } } if (list.Count == 0) { return("[No COM port]"); } ComPortComparer comp = new ComPortComparer(); list.Sort(comp); string result = ""; foreach (string str in list) { result += str; result += "\n"; } return(result); }
private string GetComPortInfo() { var list = new ArrayList(); ManagementClass win32_pnpentity = new ManagementClass("Win32_PnPEntity"); ManagementObjectCollection col = win32_pnpentity.GetInstances(); Regex reg = new Regex(".+\\((?<port>COM\\d+)\\)"); foreach (ManagementObject obj in col) { // name : "USB Serial Port(COM??)" string name = (string)obj.GetPropertyValue("name"); if (name != null && name.Contains("(COM")) { // "USB Serial Port(COM??)" -> COM?? Match m = reg.Match(name); string port = m.Groups["port"].Value; // description : "USB Serial Port" string desc = (string)obj.GetPropertyValue("Description"); // result string : "COM?? (USB Serial Port)" list.Add(port); } } if (list.Count == 0) { return "[No COM port]"; } ComPortComparer comp = new ComPortComparer(); list.Sort(comp); string result = ""; foreach (string str in list) { result += str; result += "\n"; } return result; }