Esempio n. 1
0
            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);
                }
            }
Esempio n. 2
0
 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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        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());
        }
Esempio n. 6
0
 public ProcessLocal()
 {
     options         = ProcessConnection.ProcessConnectionOptions();
     connectionScope = ProcessConnection.ConnectionScope(
         Environment.MachineName, options);
 }