Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Process.GetProcessesByName (Método) (String, String)

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

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

public static Process[] GetProcessesByName(
	string processName,
	string machineName
)

Parámetros

processName
Tipo: System.String
Nombre descriptivo del proceso.
machineName
Tipo: System.String
Nombre de un equipo en la red.

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
ArgumentException

La sintaxis del parámetro machineName no es válida. Puede que la longitud sea cero (0).

ArgumentNullException

El valor del parámetro machineName es null.

PlatformNotSupportedException

La plataforma del sistema operativo no admite esta operación en equipos remotos.

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.

Win32Exception

Hubo un problema al intentar obtener acceso a una API del sistema subyacente.

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 especificado. 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.

Se puede utilizar esta sobrecarga para obtener tanto los procesos del equipo local como los de un equipo remoto. Utilice "." para especificar el equipo local. Existe otra sobrecarga que usa el equipo local de manera predeterminada.

Sólo se puede tener acceso a los procesos de los equipos remotos para ver información sobre dichos procesos, por ejemplo, estadísticas. No se permite cerrar, terminar (con Kill) ni iniciar procesos en equipos remotos.

Nota de la plataforma : No se admite el parámetro machineName en Windows 98 o Windows Millennium (Windows Me).

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

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:
© 2014 Microsoft