public static List <COMPortInfo> GetCOMPortsInfo() { List <COMPortInfo> comPortInfoList = new List <COMPortInfo>(); ConnectionOptions options = ProcessConnection.ProcessConnectionOptions(); ManagementScope connectionScope = ProcessConnection.ConnectionScope(Environment.MachineName, options, @"\root\CIMV2"); ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0"); ManagementObjectSearcher comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery); using (comPortSearcher) { string caption = null; foreach (ManagementObject obj in comPortSearcher.Get()) { if (obj != null) { object captionObj = obj["Caption"]; if (captionObj != null) { caption = captionObj.ToString(); if (caption.Contains("(COM")) { COMPortInfo comPortInfo = new COMPortInfo(); comPortInfo.Name = caption.Substring(caption.LastIndexOf("(COM")).Replace("(", string.Empty).Replace(")", string.Empty); comPortInfo.Description = caption; comPortInfoList.Add(comPortInfo); } } } } return(comPortInfoList); } }
public Browser_IE() { options = ProcessConnection.ProcessConnectionOptions(); connectionScope = ProcessConnection.ConnectionScope( Environment.MachineName, options); browserTable.Columns.Add("PID"); browserTable.Columns.Add("Tab Title"); browserTable.Columns.Add("CPU Usage"); }
void buildPrettyNameCache(bool bForce = false) { if (bForce) { _prettyNameCache = null; } if (_prettyNameCache != null) { return; } _prettyNameCache = new Dictionary <string, string>(); ConnectionOptions options = ProcessConnection.ProcessConnectionOptions(); ManagementScope connectionScope = ProcessConnection.ConnectionScope(Environment.MachineName, options, @"\root\CIMV2"); ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0"); ManagementObjectSearcher comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery); using (comPortSearcher) { string caption = null; int i = 0; foreach (ManagementObject obj in comPortSearcher.Get()) { i++; if (obj != null) { object captionObj = obj["Caption"]; object deviceIdObj = obj["DeviceID"]; if (captionObj != null) { caption = captionObj.ToString(); if (caption.Contains("(COM")) { string name = caption.Substring(caption.LastIndexOf("(COM")).Replace("(", string.Empty).Replace(")", string.Empty); _prettyNameCache.Add(name, caption); } } } } } }
public static List <PrinterInfo> GetComDevicesInfo() { var options = ProcessConnection.ProcessConnectionOptions(); var connectionScope = ProcessConnection.ConnectionScope(Environment.MachineName, options, @"\root\CIMV2"); var objectQuery = new ObjectQuery("SELECT Name, Caption FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0"); var comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery); var comPortDevicesList = new List <PrinterInfo>(); using (comPortSearcher) { foreach (var item in comPortSearcher.Get()) { var deviceCaption = item["Caption"]; if (deviceCaption == null) { continue; } if (!deviceCaption.ToString().Contains("(COM")) { continue; } var comDevice = new PrintUtility.PrinterInfo { Name = item["Name"].ToString(), ComPort = deviceCaption.ToString().Substring(deviceCaption.ToString().LastIndexOf("(COM", StringComparison.Ordinal)).Replace("(", string.Empty).Replace(")", string.Empty) }; comPortDevicesList.Add(comDevice); } } return(comPortDevicesList); }
/// <summary> /// Gets a list of COMPortInfo objects. This contains a port name and description of every com port in the system, including ones in use. /// </summary> /// <returns></returns> public static List <ComPortInfo> GetDescriptions() { var comPortInfoList = new List <ComPortInfo>(); var options = ProcessConnection.ProcessConnectionOptions(); var connectionScope = ProcessConnection.ConnectionScope(Environment.MachineName, options, @"\root\CIMV2"); var objectQuery = new ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ClassGuid=\"{4d36e978-e325-11ce-bfc1-08002be10318}\""); var comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery); using (comPortSearcher) { foreach (var obj in comPortSearcher.Get()) { if (obj["Caption"]?.ToString().Contains("COM") != true) { continue; } var comPortInfo = new ComPortInfo { Manufacturer = obj["Manufacturer"]?.ToString(), Caption = obj["Caption"]?.ToString(), DeviceId = obj["DeviceID"]?.ToString(), Description = obj["Description"]?.ToString(), Name = obj["Name"]?.ToString() }; comPortInfo.Caption = obj["Caption"]?.ToString(); var tempString = comPortInfo.Caption.Substring(comPortInfo.Caption.IndexOf("(", StringComparison.Ordinal) + 1); tempString = tempString.Substring(0, tempString.IndexOf(")", StringComparison.Ordinal)); comPortInfo.Port = tempString; if (comPortInfo.DeviceId?.Contains("VID") == true) { comPortInfo.Vid = comPortInfo.DeviceId.Substring(comPortInfo.DeviceId.IndexOf("VID", StringComparison.Ordinal) + 4, 4); } if (comPortInfo.DeviceId?.Contains("PID") == true) { comPortInfo.Pid = comPortInfo.DeviceId.Substring(comPortInfo.DeviceId.IndexOf("PID", StringComparison.Ordinal) + 4, 4); } if (comPortInfo.Manufacturer?.Contains("FTDI") == true) { tempString = comPortInfo.DeviceId?.Substring(comPortInfo.DeviceId.IndexOf("PID", StringComparison.Ordinal) + 9); if (tempString != null) { var tempInt = tempString.IndexOf("\\", StringComparison.Ordinal); if (tempInt > 0) { tempString = tempString.Substring(0, tempInt); comPortInfo.Serial = tempString; } } } comPortInfoList.Add(comPortInfo); } } return(comPortInfoList.OrderBy(x => x.Description).ToList()); }
public ProcessLocal() { options = ProcessConnection.ProcessConnectionOptions(); connectionScope = ProcessConnection.ConnectionScope( Environment.MachineName, options); }