¿Cómo puedo detectar si un proceso que ya se está ejecutando en el Administrador de tareas de Windows? Me gustaría obtener el uso de la memoria y la CPU también.Detectar un proceso que ya se está ejecutando en Windows con C# .NET
Respuesta
¿Has mirado en la Clase System.Diagnostics.Process.
Usted podría utilizar WMI para consultar algo en la línea de uso
"SELECT * FROM Win32_Process WHERE Name = '<your process name here>'"
Especialmente procesador es un poco complicado con WMI, sin embargo. Probablemente esté mejor con System.Diagnostics.Process, como se sugirió Ian Jacobs.
ejemplo simple ...
bool processIsRunning(string process)
{
return (System.Diagnostics.Process.GetProcessesByName(process).Length != 0);
}
Vaya ... se olvidó de Uso de memoria, etc ...
bool processIsRunning(string process)
{
System.Diagnostics.Process[] processes =
System.Diagnostics.Process.GetProcessesByName(process);
foreach (System.Diagnostics.Process proc in processes)
{
Console.WriteLine("Current physical memory : " + proc.WorkingSet64.ToString());
Console.WriteLine("Total processor time : " + proc.TotalProcessorTime.ToString());
Console.WriteLine("Virtual memory size : " + proc.VirtualMemorySize64.ToString());
}
return (processes.Length != 0);
}
(Voy a dejar la mecánica de obtener los datos de la método para usted - es 17:15 aquí, y estoy listo para ir a casa :)
puede utilizar System.Diagnostics.Process clase.. Hay un método GetProcesses() y un método GetProcessesByName() que obtendrá una lista de todos los procesos existentes en una matriz. El objeto Proceso tiene toda la información que necesita detectar si se está ejecutando un proceso.
si se quería saber acerca de los procesos que se están ejecutando IE:
System.Diagnostics.Process[] ieProcs = Process.GetProcessesByName("IEXPLORE");
if (ieProcs.Length > 0)
{
foreach (System.Diagnostics.Process p in ieProcs)
{
String virtualMem = p.VirtualMemorySize64.ToString();
String physicalMem = p.WorkingSet64.ToString();
String cpu = p.TotalProcessorTime.ToString();
}
}
algo como esto:
foreach (WindowsProcess in Process.GetProcesses) {
if (WindowsProcess.ProcessName == nameOfProcess) {
Console.WriteLine(WindowsProcess.WorkingSet64.ToString);
Console.WriteLine(WindowsProcess.UserProcessorTime.ToString);
Console.WriteLine(WindowsProcess.TotalProcessorTime.ToString);
}
}
- 1. Verificando un proceso php ya se está ejecutando
- 2. C#: Redirigir salida estándar de un proceso que ya se está ejecutando
- 3. ¿Cancelar una tarea que ya se está ejecutando con Apio?
- 4. ¿Cómo detectar a través de Java si un proceso en particular se está ejecutando en Windows?
- 5. ¿Cómo puedo saber si un proceso ya se está ejecutando usando C#?
- 6. Bash: redirigir la salida de un proceso que ya se está ejecutando?
- 7. ¿Cómo verificar si un proceso se está ejecutando con Delphi?
- 8. ¿Cómo detectar con precisión si un trabajo de SQL Server se está ejecutando y lidiar con el trabajo que ya se está ejecutando?
- 9. ¿Se está ejecutando un proceso en una máquina remota?
- 10. C++, ¿Cómo determinar si se está ejecutando un proceso de Windows?
- 11. comisión si ya se está ejecutando
- 12. Powershell: si un proceso no se está ejecutando, inícielo
- 13. Comprobar si el proceso se está ejecutando
- 14. ¿Cómo determinar si el código .NET se está ejecutando en un proceso ASP.NET?
- 15. ¿Cómo puedo saber si un proceso se está ejecutando?
- 16. PyQt: ¿cómo detectar y cerrar la IU si ya se está ejecutando?
- 17. ¿El proceso del pasajero ya se está ejecutando? pero no es
- 18. ¿Cómo hacer que mi aplicación .NET en ejecución pueda recibir comandos mientras se está ejecutando?
- 19. ¿Cómo verificar con inno-setup, si un proceso se está ejecutando en un windows 2008 r2 64bit?
- 20. ¿Cuál es la forma correcta de detectar si ruby se está ejecutando en Windows?
- 21. ¿Cómo verificar si se está ejecutando un proceso con un PID determinado?
- 22. ¿Cómo puedo detectar si mi proceso se está ejecutando UAC elevado o no?
- 23. eclipse stop popup "Lanzamiento web ya se está ejecutando"
- 24. ¿Cómo puedo saber si un proceso se está ejecutando en C?
- 25. ¿Puedo determinar si Matlab se está ejecutando como con privilegios elevados en Windows?
- 26. Comprobando si mi aplicación de Windows se está ejecutando
- 27. Comprobando si el proceso aún se está ejecutando?
- 28. ¿Cómo puede un script de Ruby detectar que se está ejecutando en irb?
- 29. OSX: ¿Cómo detectar si se está ejecutando Mission Control?
- 30. ¿Cómo detectar que Windows está bloqueado?
duplicados de http://stackoverflow.com/q/51148/562769 –