Share via


Ejemplo Managing Processes

Actualización: noviembre 2007

En este ejemplo se utilizan objetos del espacio de nombres System.Diagnostics para recopilar información sobre un proceso en ejecución.

Para obtener ejemplos e instrucciones para la instalación

  • Siga uno o varios de los procedimientos siguientes:

    • En el menú Ayuda, haga clic en Ejemplos.

      El archivo Léame muestra información sobre los ejemplos.

    • Visite el sitio web Visual Studio 2008 Samples. Están disponibles las versiones de ejemplos más recientes.

    • Busque los ejemplos en el equipo en el que está instalado Visual Studio. De manera predeterminada, los ejemplos y el archivo Léame se instalan en unidad:\Archivos de programa\Microsoft Visual Studio 9.0\Samples\lcid. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Para obtener más información, vea Localizar archivos de ejemplo.

.

Nota de seguridad:

En este ejemplo de código se ilustra un concepto y únicamente se muestra el código correspondiente a dicho concepto. Es posible que no cumpla los requisitos de seguridad de un entorno concreto y, por tanto, no debería utilizarse tal y como se muestra. Se recomienda agregar código de seguridad y de control de errores para que los proyectos sean más seguros y sólidos. Microsoft proporciona este ejemplo "tal cual" sin ninguna garantía.

Para ejecutar este ejemplo

  1. Presione F5.

  2. Haga clic en un proceso para tener cargados sus detalles y los datos de subprocesos. Utilice los menús para ver la lista de los módulos cargados por un proceso concreto. Presione F5 mientras el programa se está ejecutando para actualizar la lista de procesos.

Demostraciones

Los procesos del equipo actual se muestran en un control ListView llamando al método GetProcesses. Cuando se selecciona un proceso, se muestran detalles sobre ese proceso en otro control ListView. Los detalles del proceso se recuperan utilizando la instancia de Process que representa el proceso. Se utiliza la propiedad Threads para enumerar los subprocesos del proceso, que se muestran a continuación en otro control ListView. Cada subproceso se representa mediante una instancia de ProcessThread. Los módulos para cada proceso pueden ser inspeccionados seleccionando un proceso y haciendo clic en Módulos en el menú principal o el menú contextual. Un formulario independiente muestra los módulos cargados por el proceso e incluye el nombre del archivo donde se cargó el código.

Hay tres procesos que no proporcionan información completa:

  • _Total   Este proceso se agrega en código y no representa ningún proceso. Se utiliza para proporcionar un resumen del tiempo de ejecución y la utilización del procesador.

  • Idle   Aunque se devuelve como proceso, no es un proceso que pueda devolver datos.

  • System   Este proceso no expone información de módulo.

Es posible que no tenga acceso a toda la información de un proceso. En ese caso, se muestra un cuadro de mensaje.

Vea también

Referencia

Process

System.Diagnostics

ProcessThread

Threads