private void InitDevicesManager() { List <Device> allDevices = new DeviceProcess().ListAll(); foreach (var item in allDevices) { AvailableDevices.Add(item.Name, item.Quantity); LeasedDevices.Add(item.Name, 0); } }
public List <DeviceProcess> GetDeviceProcessesList() { List <Exception> exceptions = new List <Exception>(); List <ManagementException> managementExceptions = new List <ManagementException>(); List <DeviceProcess> deviceProcesses = new List <DeviceProcess>(); try { Process[] processes = Process.GetProcesses(); foreach (Process p in processes) { int pid = -1; string pname = "n/a"; double memory = -1; double cpu = -1; double bs = -1; double br = -1; double net = -2; double disk = -2; bool isapp = false; if (p.MainWindowHandle != null) { isapp = p.MainWindowHandle != IntPtr.Zero; } ManagementObjectSearcher mos = null; try { mos = new ManagementObjectSearcher("" + "SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE IDProcess = " + p.Id); } catch (ManagementException ex) { pid = -1; pname = "n/a"; memory = -1; cpu = -1; bs = -1; br = -1; managementExceptions.Add(ex); } catch (Exception ex) { pid = -1; pname = "n/a"; memory = -1; cpu = -1; bs = -1; br = -1; exceptions.Add(ex); } try { pid = p.Id; } catch { } try { pname = p.ProcessName; } catch { } NetworkTraffic networkTraffic = null; try { networkTraffic = new NetworkTraffic(p.Id); } catch (Exception ex) { bs = -1; br = -1; exceptions.Add(ex); } try { if (networkTraffic != null) { bs = networkTraffic.GetBytesSent(); } } catch (Exception ex) { bs = -1; exceptions.Add(ex); } try { if (networkTraffic != null) { br = networkTraffic.GetBytesReceived(); } } catch (Exception ex) { br = -1; exceptions.Add(ex); } try { ManagementObjectCollection col = mos.Get(); foreach (ManagementObject obj in col) { try { memory = p.PrivateMemorySize64; } catch (ManagementException ex) { memory = -1; managementExceptions.Add(ex); } catch (Exception ex) { memory = -1; exceptions.Add(ex); } try { cpu = Convert.ToDouble(obj["PercentProcessorTime"]) / Environment.ProcessorCount; } catch (ManagementException ex) { cpu = -1; managementExceptions.Add(ex); } catch (Exception ex) { cpu = -1; exceptions.Add(ex); } } } catch (ManagementException ex) { memory = -1; cpu = -1; managementExceptions.Add(ex); } catch (Exception ex) { memory = -1; cpu = -1; exceptions.Add(ex); } DeviceProcess deviceProcess = new DeviceProcess { BytesReceived = br, BytesSent = bs, CpuUtil = cpu, Description = "", IsApplication = isapp, Name = pname, PrivateMemorySize = memory / 1024 / 1024, ProcessId = pid, TotalBytes = br + bs, DiskUtil = disk, NetUtil = net }; deviceProcesses.Add(deviceProcess); } return(deviceProcesses); } catch (Exception) { return(null); } }
public void Process(DeviceProcess process) { deviceInterface.Process(process); }
void IDevice.Process(DeviceProcess process) { }