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 (Clase)

Proporciona acceso a procesos locales y remotos, y permite iniciar y detener procesos del sistema local.

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

[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = L"FullTrust")]
[HostProtectionAttribute(SecurityAction::LinkDemand, SharedState = true, Synchronization = true, 
	ExternalProcessMgmt = true, SelfAffectingProcessMgmt = true)]
[PermissionSetAttribute(SecurityAction::LinkDemand, Name = L"FullTrust")]
public ref class Process : public Component

El tipo Process expone los siguientes miembros.

  NombreDescripción
Método públicoProcessInicializa una nueva instancia de la clase Process.
Arriba

  NombreDescripción
Propiedad públicaBasePriorityObtiene la prioridad base del proceso asociado.
Propiedad protegidaCanRaiseEventsObtiene un valor que indica si el componente puede generar un evento. (Se hereda de Component).
Propiedad públicaContainerObtiene IContainer que contiene Component. (Se hereda de Component).
Propiedad protegidaDesignModeObtiene un valor que indica si Component está actualmente en modo de diseño. (Se hereda de Component).
Propiedad públicaEnableRaisingEventsObtiene o establece si el evento Exited debe provocarse cuando termine el proceso.
Propiedad protegidaEventsObtiene la lista de controladores de eventos asociados a Component. (Se hereda de Component).
Propiedad públicaExitCodeObtiene el valor especificado por el proceso asociado al terminar.
Propiedad públicaExitTimeObtiene el momento en el que terminó el proceso asociado.
Propiedad públicaHandleObtiene el identificador nativo del proceso asociado.
Propiedad públicaHandleCountObtiene el número de identificadores abiertos por el proceso.
Propiedad públicaHasExitedObtiene un valor que indica si el proceso asociado ha finalizado.
Propiedad públicaIdObtiene el identificador único del proceso asociado.
Propiedad públicaMachineNameObtiene el nombre del equipo en el que se está ejecutando el proceso asociado.
Propiedad públicaMainModuleObtiene el módulo principal del proceso asociado.
Propiedad públicaMainWindowHandleObtiene el identificador de ventana de la ventana principal del proceso asociado.
Propiedad públicaMainWindowTitleObtiene el título de la ventana principal del proceso.
Propiedad públicaMaxWorkingSetObtiene o establece el tamaño máximo permitido para el espacio de trabajo del proceso asociado.
Propiedad públicaMinWorkingSetObtiene o establece el tamaño mínimo permitido para el espacio de trabajo del proceso asociado.
Propiedad públicaModulesObtiene los módulos cargados por el proceso asociado.
Propiedad públicaNonpagedSystemMemorySize Obsoleto. Obtiene el tamaño de la memoria no paginada del sistema que se ha asignado a este proceso.
Propiedad públicaNonpagedSystemMemorySize64Obtiene el tamaño de la memoria no paginada del sistema que se ha asignado para el proceso asociado.
Propiedad públicaPagedMemorySize Obsoleto. Obtiene el tamaño de la memoria paginada.
Propiedad públicaPagedMemorySize64Obtiene el tamaño de la memoria paginada asignada para el proceso asociado.
Propiedad públicaPagedSystemMemorySize Obsoleto. Obtiene el tamaño de la memoria paginada del sistema.
Propiedad públicaPagedSystemMemorySize64Obtiene el tamaño de la memoria paginable del sistema que se ha asignado para el proceso asociado.
Propiedad públicaPeakPagedMemorySize Obsoleto. Obtiene el tamaño máximo de la memoria paginada.
Propiedad públicaPeakPagedMemorySize64Obtiene el tamaño de memoria máximo en el archivo de paginación de la memoria virtual que utiliza el proceso asociado.
Propiedad públicaPeakVirtualMemorySize Obsoleto. Obtiene el tamaño máximo de la memoria virtual.
Propiedad públicaPeakVirtualMemorySize64Obtiene el tamaño máximo de la memoria virtual que utiliza el proceso asociado.
Propiedad públicaPeakWorkingSet Obsoleto. Obtiene el tamaño máximo del espacio de trabajo para el proceso asociado.
Propiedad públicaPeakWorkingSet64Obtiene el tamaño máximo de la memoria física que utiliza el proceso asociado.
Propiedad públicaPriorityBoostEnabledObtiene o establece un valor que indica si el sistema operativo debería aumentar temporalmente la prioridad del proceso asociado cuando la ventana principal tenga el foco.
Propiedad públicaPriorityClassObtiene o establece la categoría de prioridad general del proceso asociado.
Propiedad públicaPrivateMemorySize Obsoleto. Obtiene el tamaño de la memoria privada.
Propiedad públicaPrivateMemorySize64Obtiene el tamaño de la memoria privada asignada para el proceso asociado.
Propiedad públicaPrivilegedProcessorTimeObtiene el tiempo de procesador con privilegios de este proceso.
Propiedad públicaProcessNameObtiene el nombre del proceso.
Propiedad públicaProcessorAffinityObtiene o establece los procesadores en los que se puede programar la ejecución de los subprocesos de este proceso.
Propiedad públicaRespondingObtiene un valor que indica si la interfaz de usuario del proceso está respondiendo.
Propiedad públicaSessionIdObtiene el identificador de la sesión de Servicios de Terminal Server para el proceso asociado.
Propiedad públicaSiteObtiene o establece ISite de Component. (Se hereda de Component).
Propiedad públicaStandardErrorObtiene una secuencia utilizada para leer la salida de errores de la aplicación.
Propiedad públicaStandardInputObtiene una secuencia que se utiliza para escribir la entrada de la aplicación.
Propiedad públicaStandardOutputObtiene una secuencia utilizada para leer la salida de la aplicación.
Propiedad públicaStartInfoObtiene o establece las propiedades que se pasan al método Start de Process.
Propiedad públicaStartTimeObtiene el momento en el que se inició el proceso asociado.
Propiedad públicaSynchronizingObjectObtiene o establece el objeto utilizado para calcular las referencias de las llamadas del controlador de eventos emitidas como resultado de un evento de terminación del proceso.
Propiedad públicaThreadsObtiene el conjunto de subprocesos que se están ejecutando en el proceso asociado.
Propiedad públicaTotalProcessorTimeObtiene el tiempo de procesador total de este proceso.
Propiedad públicaUserProcessorTimeObtiene el tiempo de procesador de usuario de este proceso.
Propiedad públicaVirtualMemorySize Obsoleto. Obtiene el tamaño de la memoria virtual del proceso.
Propiedad públicaVirtualMemorySize64Obtiene el tamaño de la memoria virtual que se ha asignado para el proceso asociado.
Propiedad públicaWorkingSet Obsoleto. Obtiene el uso de memoria física del proceso asociado.
Propiedad públicaWorkingSet64Obtiene el tamaño de la memoria física que se ha asignado para el proceso asociado.
Arriba

  NombreDescripción
Método públicoBeginErrorReadLineInicia las operaciones de lectura asincrónica en la secuencia de StandardError redirigida de la aplicación.
Método públicoBeginOutputReadLineInicia las operaciones de lectura asincrónica en la secuencia de StandardOutput redirigida de la aplicación.
Método públicoCancelErrorReadCancela la operación de lectura asincrónica en la secuencia redirigida de StandardError de una aplicación.
Método públicoCancelOutputReadCancela la operación de lectura asincrónica en la secuencia redirigida de StandardOutput de una aplicación.
Método públicoCloseLibera todos los recursos asociados a este componente.
Método públicoCloseMainWindowCierra un proceso que contiene una interfaz de usuario mediante el envío de un mensaje de cierre a su ventana principal.
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método públicoDispose()Libera todos los recursos utilizados por el objeto Component. (Se hereda de Component).
Método protegidoDispose(Boolean)Infraestructura. Libera todos los recursos utilizados por este proceso. (Invalida a Component::Dispose(Boolean)).
Método públicoMiembro estáticoEnterDebugModeColoca un componente Process en estado de interacción con los procesos del sistema operativo que se ejecutan en un modo especial; para ello, habilita la propiedad nativa SeDebugPrivilege en el actual subproceso.
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalizeLibera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el objeto Component durante la recolección de elementos no utilizados. (Se hereda de Component).
Método públicoMiembro estáticoGetCurrentProcessObtiene un nuevo componente Process y lo asocia al proceso que está activo en ese momento.
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoMiembro estáticoGetProcessById(Int32)Devuelve un nuevo componente Process, dado un identificador de un proceso en el equipo local.
Método públicoMiembro estáticoGetProcessById(Int32, String)Devuelve un nuevo componente Process, dados un identificador de proceso y el nombre de un equipo en la red.
Método públicoMiembro estáticoGetProcesses()Crea un nuevo componente Process para cada recurso de proceso del equipo local.
Método públicoMiembro estáticoGetProcesses(String)Crea un nuevo componente Process para cada recurso de proceso en el equipo especificado.
Método públicoMiembro estáticoGetProcessesByName(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.
Método públicoMiembro estáticoGetProcessesByName(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.
Método protegidoGetServiceDevuelve un objeto que representa el servicio suministrado por Component o por Container. (Se hereda de Component).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoKillDetiene inmediatamente el proceso asociado.
Método públicoMiembro estáticoLeaveDebugModeRecupera un componente Process del estado que le permite interactuar con procesos del sistema operativo que se ejecuten en un modo especial.
Método protegidoMemberwiseClone() Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método protegidoOnExitedProvoca el evento Exited.
Método públicoRefreshDescarta cualquier información acerca del proceso asociado que se haya almacenado en caché en el componente del proceso.
Método públicoStart()Inicia (o reutiliza) el recurso de proceso especificado en la propiedad StartInfo de este componente Process y lo asocia al componente.
Método públicoMiembro estáticoStart(ProcessStartInfo)Inicia el recurso de proceso que se especifica mediante el parámetro que contiene la información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se va a iniciar) y asocia el recurso a un nuevo componente Process.
Método públicoMiembro estáticoStart(String)Inicia un recurso de proceso con la especificación del nombre de un documento o de un archivo de aplicación y asocia el recurso a un nuevo componente Process.
Método públicoMiembro estáticoStart(String, String)Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, y asocia el recurso a un nuevo componente Process.
Método públicoMiembro estáticoStart(String, String, SecureString, String)Inicia un recurso de proceso mediante la especificación del nombre de una aplicación, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.
Método públicoMiembro estáticoStart(String, String, String, SecureString, String)Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de Process.
Método públicoToStringAplica formato de cadena al nombre del proceso, combinándolo con el tipo de componente principal, si es aplicable. (Invalida a Component::ToString()).
Método públicoWaitForExit()Indica al componente Process que espere indefinidamente hasta que el proceso asociado termine.
Método públicoWaitForExit(Int32)Indica al componente Process que espere a que el proceso asociado termine durante el número de milisegundos especificado.
Método públicoWaitForInputIdle()Hace que el componente Process espere indefinidamente a que el proceso asociado entre en estado de inactividad. Esta sobrecarga sólo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.
Método públicoWaitForInputIdle(Int32)Hace que el componente Process espere a que el proceso asociado entre en estado de inactividad durante el número de milisegundos especificado. Esta sobrecarga sólo se aplica a los procesos que tengan una interfaz de usuario y, por tanto, un bucle de mensajes.
Arriba

  NombreDescripción
Evento públicoDisposedSe produce cuando el componente se elimina mediante una llamada al método Dispose. (Se hereda de Component).
Evento públicoErrorDataReceivedSe produce cuando una aplicación escribe en su secuencia redirigida de StandardError.
Evento públicoExitedSe produce cuando termina un proceso.
Evento públicoOutputDataReceivedSe produce cuando una aplicación escribe en su secuencia redirigida de StandardOutput.
Arriba

NotaNota

A partir de la versión 2.0 de .NET Framework, se ha eliminado la posibilidad de hacer referencia a los datos del contador de rendimiento en otros equipos para muchos de los métodos y propiedades de .NET Framework. Este cambio se ha realizado para mejorar el rendimiento y permitir a los usuarios que no son administradores utilizar la clase Process. Como resultado, algunas aplicaciones que no generaban excepciones en versiones anteriores de .NET Framework, ahora pueden generar una NotSupportedException. Los métodos y propiedades que se ven afectados por este cambio son demasiado numerosos como para enumerarlos aquí todos, pero se ha agregado la información de excepción a los temas de los miembros afectados.

Un componente Process proporciona acceso a un proceso que se está ejecutando en un equipo. Un proceso, dicho de un modo sencillo, es una aplicación en ejecución. Un subproceso es la unidad básica a la que el sistema operativo asigna tiempo de procesador. Un subproceso puede ejecutar cualquier parte del código del proceso, incluidas las partes que otro subproceso esté ejecutando en ese momento.

El componente Process es una herramienta útil para iniciar, detener, controlar y supervisar aplicaciones. Mediante el componente Process se puede obtener una lista de los procesos en ejecución o se puede iniciar un nuevo proceso. Un componente Process se utiliza para obtener acceso a los procesos del sistema. Un componente Process, una vez inicializado, puede utilizarse para obtener información sobre el proceso en ejecución. Entre la información proporcionada se incluye el conjunto de subprocesos, los módulos cargados (archivos .dll y .exe) y la información de rendimiento, por ejemplo, la cantidad de memoria que está utilizando el proceso.

Si dispone de una variable de ruta de acceso declarada en el sistema mediante comillas, debe especificar la ruta de acceso completa al iniciar cualquier proceso que se encuentre en esa ubicación. De lo contrario, el sistema no encontrará la ruta de acceso. Por ejemplo, si la ruta c:\mypath no se encuentra en su ruta de acceso y la agrega utilizando comillas (path = %path%;"c:\mypath"), debe especificar el nombre completo de cualquier proceso que se encuentre en c:\mypath al iniciarlo.

El componente del proceso obtiene la información sobre un grupo de propiedades toda de una vez. Después de que el componente Process haya obtenido la información sobre un miembro de cualquier grupo, almacena en la memoria caché los valores del resto de las propiedades de ese grupo y no obtiene nueva información sobre el resto de los miembros del grupo hasta que se llama al método Refresh. Por lo tanto, no se garantiza que un valor de propiedad sea más reciente que la última llamada al método Refresh. Los detalles del grupo dependen del sistema operativo.

Un proceso del sistema se identifica de manera inequívoca en el sistema mediante un identificador de proceso. Como sucede con la mayoría de los recursos de Windows, un proceso se identifica también mediante un identificador, que puede no ser único en el equipo. Un identificador es el término genérico que hace referencia a un identificador de un recurso. El sistema operativo conserva el identificador del proceso, al que se obtiene acceso a través de la propiedad Handle del componente Process, aunque el proceso haya terminado. De este modo, se puede obtener la información administrativa del proceso, como ExitCode (normalmente, cero para indicar que es correcto o un código de error distinto de cero) y ExitTime. Los identificadores son un recurso extremadamente valioso, por lo que su pérdida es mucho más dañina que la pérdida de memoria.

NotaNota

Esta clase contiene una petición de vínculo y una petición de herencia en el nivel de clase que se aplica a todos los miembros. Se produce una excepción SecurityException si el llamador inmediato o la clase derivada no dispone de permisos de plena confianza. Para obtener más información sobre las peticiones de seguridad, vea Peticiones de vínculos y Peticiones de herencia.

NotaNota

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el siguiente valor de la propiedad Resources: SharedState | Synchronization | ExternalProcessMgmt | SelfAffectingProcessMgmt. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación en SQL Server y atributos de protección de host.

En el siguiente ejemplo se utiliza una instancia de la clase Process para iniciar un proceso.


#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

int main()
{
	Process^ myProcess = gcnew Process;
	try
	{

		// Get the path that stores user documents.
		String^ myDocumentsPath = Environment::GetFolderPath( Environment::SpecialFolder::Personal );
		// You can start any process, HelloWorld is a do-nothing example.
		myProcess->StartInfo->FileName = "C:\\MyFile.doc";
		myProcess->StartInfo->UseShellExecute = false;
		myProcess->StartInfo->CreateNoWindow = true;
		myProcess->Start();
		// This code assumes the process you are starting will terminate itself. 
		// Given that is is started without a window so you cannot terminate it 
		// on the desktop, it must terminate itself or you can do it programmatically
		// from this application using the Kill method.
	}
	catch ( Exception^ e ) 
	{
		Console::WriteLine( e->Message );
	}
}



En el siguiente ejemplo se utiliza la propia clase Process y un método Start estático para iniciar un proceso.


#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

// Opens the Internet Explorer application.
void OpenApplication( String^ myFavoritesPath )
{
    // Start Internet Explorer. Defaults to the home page.
    Process::Start( "IExplore.exe" );

    // Display the contents of the favorites folder in the browser.
    Process::Start( myFavoritesPath );
}

// Opens urls and .html documents using Internet Explorer.
void OpenWithArguments()
{
    // url's are not considered documents. They can only be opened
    // by passing them as arguments.
    Process::Start( "IExplore.exe", "www.northwindtraders.com" );

    // Start a Web page using a browser associated with .html and .asp files.
    Process::Start( "IExplore.exe", "C:\\myPath\\myFile.htm" );
    Process::Start( "IExplore.exe", "C:\\myPath\\myFile.asp" );
}

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
void OpenWithStartInfo()
{
    ProcessStartInfo^ startInfo = gcnew ProcessStartInfo( "IExplore.exe" );
    startInfo->WindowStyle = ProcessWindowStyle::Minimized;
    Process::Start( startInfo );
    startInfo->Arguments = "www.northwindtraders.com";
    Process::Start( startInfo );
}

int main()
{
    // Get the path that stores favorite links.
    String^ myFavoritesPath = Environment::GetFolderPath( Environment::SpecialFolder::Favorites );
    OpenApplication( myFavoritesPath );
    OpenWithArguments();
    OpenWithStartInfo();
}


.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. Esta clase no puede ser utilizada por código de confianza parcial.

  • InheritanceDemand 

    para que haya plena confianza para los herederos. Esta clase no la puede heredar el 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.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft