miércoles, 9 de enero de 2013

Cerrar un proceso en ejecución desde VB.Net

Para  buscar un proceso por nombre en VB.Net

Primero creamos un arreglo de tipo proceso


           Dim procesos As Process()

le asignamos todos los procesos que se encuentren con el nombre, en el caso de este ejemplo estoy tratando de cerrar el proceso "Powerpnt" que se abre cuando ejecutamos una presentacion de powerpoint.


          procesos  = Process.GetProcessesByName("Powerpnt")

Luego determinamos si encontró algo y si los encuentra los va cerrando del ultimo al primero

        If procesos.Length > 0 Then
            For i = procesos.Length - 1 To 0 Step -1
                procesos(i).Kill()
            Next
        End If

Adicionalmente una vez que identificamos el proceso, podemos ver su nombre, en que procesadores se está ejecutando, el nombre de la pantalla principal, su Id, saber a que hora inicio, la memoria que ocupa, el tiempo de procesador que ha ocupado, sus subprocesos, si está respondiendo su interfaz de usuario, su prioridad de ejecución.

Puede ser utilizado para cerrar algún programa que no se desee que corra por ejemplo en una sala de internet, para evitar que alguien utilice algún programa como podría ser en el una oficina podría con un timer, verificar que los empleados no utilicen facebook.



  Dim procesos As Process() = Process.GetProcessesByName("chrome")
        If procesos.Length > 0 Then
            For i = procesos.Length - 1 To 0 Step -1
                If procesos(i).MainWindowTitle.Contains("yahoo") Then procesos(i).Kill()
            Next
        End If

6 comentarios:

  1. Muy útil el código, pero tengo un problema, cuando lo añado a una aplicación y la distribuyo, antivirus com Norton, Avast y Avira dicen que la aplicación contiene virus.
    Sabes como podría solucionar eso?
    Gracias!

    ResponderBorrar