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
Esta documentación está archivada y no tiene mantenimiento.

Process.Start (Método) (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.

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

public static Process Start(
	string fileName,
	string userName,
	SecureString password,
	string domain
)

Parámetros

fileName
Tipo: System.String
Nombre de un archivo de aplicación que se va a ejecutar en el proceso.
userName
Tipo: System.String
Nombre de usuario que se va a utilizar al iniciarse el proceso.
password
Tipo: System.Security.SecureString
SecureString que contiene la contraseña que se va a utilizar al iniciarse el proceso.
domain
Tipo: System.String
Dominio que se va a utilizar al iniciarse el proceso.

Valor devuelto

Tipo: System.Diagnostics.Process
Nuevo componente Process que se asocia al recurso del proceso o null si no se inicia ningún recurso de proceso (por ejemplo, si se reutiliza un proceso existente).

ExcepciónCondición
InvalidOperationException

No se ha especificado ningún nombre de archivo.

Win32Exception

fileName no es un archivo ejecutable (.exe).

Win32Exception

Se produjo un error al abrir el archivo asociado.

ObjectDisposedException

El objeto de proceso ya se ha desechado.

Utilice esta sobrecarga para crear un nuevo proceso y su subproceso principal especificando el nombre de archivo, el nombre de usuario, la contraseña y el dominio. El nuevo proceso ejecutará el archivo ejecutable especificado en el contexto de seguridad de las credenciales especificadas (usuario, dominio y contraseña).

NotaNota

Cuando el archivo ejecutable se encuentra en una unidad remota, debe identificar el recurso compartido de red utilizando un identificador uniforme de recursos (URI), no una letra de unidad vinculada.

NotaNota

Si la dirección del archivo ejecutable para iniciar es una dirección URL, no se inicia el proceso y se devuelve null.

Si el proceso ya está en ejecución, no se iniciará ningún recurso de proceso adicional. En lugar de esto, se reutiliza el recurso de proceso existente y no se crea un nuevo componente Process. En tal caso, en lugar de devolver un nuevo componente Process, Start devuelve null al procedimiento que realiza la llamada.

Esta sobrecarga permite iniciar un proceso sin crear primero una nueva instancia de Process. La sobrecarga es una alternativa a los pasos explícitos para crear una nueva instancia de Process, establecer las propiedades FileName, UserName, Password y Domain de la propiedad StartInfo y llamar al método Start para la instancia de Process.

Del mismo modo que el cuadro de diálogo Ejecutar acepta un nombre de archivo ejecutable con y sin extensión .exe, la extensión .exe es opcional en el parámetro fileName. Por ejemplo, se puede establecer el parámetro fileName en "Notepad.exe" o "Notepad". Si el parámetro fileName representa un archivo ejecutable, el parámetro arguments podría representar un archivo sobre el que se va a actuar como, por ejemplo, el archivo de texto de Notepad.exe myfile.txt.

NotaNota

El nombre de archivo debe representar un archivo ejecutable en las sobrecargas Start que tienen los parámetros userName, password y domain.

En el ejemplo de código siguiente se muestra el uso de esta sobrecarga para iniciar un archivo ejecutable y se muestra también cómo se produce una excepción Win32Exception cuando se intenta iniciar una aplicación asociada a un archivo no ejecutable.


// This sample requires a text.txt file and a HelloWorld.exe file in the 
// My Documents folder to successfully execute.
using System;
using System.Diagnostics;
using System.Security;
using System.ComponentModel;

namespace StartDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter your domain.");
            string domain = Console.ReadLine();
            Console.WriteLine("Enter you user name.");
            string uname = Console.ReadLine();
            Console.WriteLine("Enter your password (Caution, password won't be hidden).");
            SecureString password = new SecureString();
            foreach (char c in Console.ReadLine())
                password.AppendChar(c);
            string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\";
            Process.Start(path + "HelloWorld.exe", uname, password, domain);
            try
            {
                // The following call to Start succeeds.
                Process.Start(path + "Text.txt");
                // Attempting to start in a shell using this Start overload fails.
                // The following call to Start results in the following error:
                // The specified executable is not a valid Win32 application.
                Process.Start(path + "Text.txt", uname, password, domain);
            }
            catch (Win32Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
     }
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.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.
Mostrar: