public int num_procesos; //Cantidad procesos activos /// <summary> /// Crea la lista de los procesos actuales /// </summary> public void procesos_ejecución() { primero = null; Process[] procesos = Process.GetProcesses(); int cantidad = 0; foreach (Process p in procesos) { cantidad++; String descripcion = getdescrip(p); String user = getUser(p.Id); String id = Convert.ToString(p.Id); String cpu = getcpu(p); String memoria = Convert.ToString(p.PrivateMemorySize64 / 1024); lista_procesos temp = new lista_procesos(id, p.ProcessName, descripcion, cpu, memoria, user); if (primero == null) { primero = temp; } else { temp.sig = primero; primero = temp; } } num_procesos = cantidad; }
/// <summary> /// Actualiza la lista de procesos, compara la cantidad enlazada con la lista, además comprueba si hay creados /// </summary> public Boolean actualizar() { Boolean estado = false; int cantidad = 0; lista_procesos temp = primero; while (temp != null) { temp = temp.sig; cantidad++; } if (cantidad > num_procesos)//si es menor cantidad actualiza { estado = true; return(estado); } else //sino busca procesos nuevos { Process[] procesos = Process.GetProcesses(); foreach (Process p in procesos) { estado = buscar_proceso(p.Id); cantidad++; } return(estado); } }
//Constructor public lista_procesos(String _id, String _nombre, String _descrip, String _cpu, String _memo, String _user) { id = _id; nombre = _nombre; descripcion = _descrip; cpu = _cpu; memoria = _memo; usuario = _user; sig = null; }
public void actualizartabla() { lista_procesos temp = p.primero; while (temp != null) { String[] item = { temp.id, temp.nombre, temp.descripcion, temp.cpu, temp.memoria, temp.usuario }; dataGridView1.Rows.Add(item); temp = temp.sig; } }
/// <summary> /// Busca si existe en la lista el proceso /// </summary> public Boolean buscar_proceso(int id) { String pid = Convert.ToString(id); lista_procesos temp = primero; Boolean estado = false; while (temp.sig != null) { if (primero.id == pid) { estado = true; } temp = temp.sig; } return(estado); }
/// <summary> /// Crea la lista de los procesos actuales /// </summary> public void procesos_ejecución() { primero = null; Process[] procesos = Process.GetProcesses(); int cantidad = 0; foreach (Process p in procesos) { cantidad++; String descripcion = getdescrip(p); String user = getUser(p.Id); String id = Convert.ToString(p.Id); String cpu = getcpu(p); String memoria = Convert.ToString(p.PrivateMemorySize64 / 1024); lista_procesos temp = new lista_procesos(id, p.ProcessName, descripcion, cpu, memoria, user); if (primero == null) { primero = temp; } else { temp.sig = primero; primero = temp; } } num_procesos = cantidad; }