GetProcessesByName (Método) (String)
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

Process.GetProcessesByName (Método) (String)

Crea una matriz de nuevos componentes Process y los asocia a todos los recursos de proceso del equipo local que comparten el nombre de proceso especificado.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public static Process[] GetProcessesByName(
	string processName
)

Parámetros

processName
Tipo: System.String
Nombre descriptivo del proceso.

Valor devuelto

Tipo: System.Diagnostics.Process[]
Matriz de tipo Process que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado.

ExcepciónCondición
InvalidOperationException

Hay problemas de acceso a la API de contadores de rendimiento utilizada para obtener información sobre procesos. Esta excepción es específica de Windows NT, Windows 2000 y Windows XP.

Hay que utilizar este método para crear una matriz de nuevos componentes Process y asociarlos a todos los recursos de proceso que ejecutan el mismo archivo ejecutable en el equipo local. Los recursos del proceso deben existir previamente en el equipo, porque GetProcessesByName no crea recursos del sistema, sino que los asocia a componentes Process generados por la aplicación. Se puede especificar el valor processName para un archivo ejecutable que no se esté ejecutando en ese momento en el equipo local, de manera que la matriz que devuelve el método puede estar vacía.

El nombre del proceso es un nombre descriptivo para el proceso, como Outlook, que no incluye la extensión .exe o la ruta de acceso. GetProcessesByName es de utilidad para obtener y manipular todos los procesos asociados al mismo archivo ejecutable. Por ejemplo, es posible pasar un nombre de archivo ejecutable como valor del parámetro processName para cerrar todas las instancias de ese archivo que se estén ejecutando.

Aunque la propiedad Id de un proceso es única para un recurso de proceso del sistema, es posible que varios procesos del equipo local estén ejecutando la aplicación especificada en el parámetro processName. Por lo tanto, el método GetProcessById devuelve un proceso como máximo, mientras que GetProcessesByName devuelve una matriz que contiene todos los procesos asociados. Si necesita manipular el proceso con llamadas a la API estándar, puede consultar estos procesos de uno en uno para obtener su identificador. No es posible obtener acceso a los recursos del proceso solamente mediante su nombre pero, una vez que se haya recuperado la matriz de componentes Process asociados a los recursos del proceso, es posible iniciar, terminar o manipular como se desee los recursos del sistema.

En el siguiente ejemplo, se recupera la información del proceso actual, todas las instancias del Bloc de notas que se ejecutan en el equipo local, todas las instancias del Bloc de notas que se ejecutan en un equipo específico por medio del alias del equipo y de una dirección IP, todos los procesos que se ejecutan en el equipo local y en un equipo remoto, y un proceso específico del equipo local o de un equipo remoto por medio del identificador del proceso.


using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
	/// <summary>
	/// Shell for the sample.
	/// </summary>
	class MyProcess
	{
		
	   
		
		void BindToRunningProcesses()
		{
			// Get the current process.
			Process currentProcess = Process.GetCurrentProcess();

			
			// Get all instances of Notepad running on the local
			// computer.
			Process [] localByName = Process.GetProcessesByName("notepad");

			
			// Get all instances of Notepad running on the specifiec
			// computer.
			// 1. Using the computer alias (do not precede with "\\").
			Process [] remoteByName = Process.GetProcessesByName("notepad", "myComputer");
			
			// 2. Using an IP address to specify the machineName parameter. 
			Process [] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");
			
			
			// Get all processes running on the local computer.
			Process [] localAll = Process.GetProcesses();

			
			// Get all processes running on the remote computer.
			Process [] remoteAll = Process.GetProcesses("myComputer");

			
			// Get a process on the local computer, using the process id.
			Process localById = Process.GetProcessById(1234);

			
			// Get a process on a remote computer, using the process id.
			Process remoteById = Process.GetProcessById(2345, "myComputer");
			
		}
		


		static void Main()
		{

           		MyProcess myProcess = new MyProcess();
			

			myProcess.BindToRunningProcesses();

        	}	
	}
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

    para plena confianza del llamador inmediato. Este miembro no puede ser utilizado por código de confianza parcial.

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft