ProcessStartInfo Classe

Definizione

Specifica un insieme di valori usati all'avvio di un processo.

public ref class ProcessStartInfo sealed
public sealed class ProcessStartInfo
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public sealed class ProcessStartInfo
type ProcessStartInfo = class
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type ProcessStartInfo = class
Public NotInheritable Class ProcessStartInfo
Ereditarietà
ProcessStartInfo
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come usare la ProcessStartInfo classe per avviare Internet Explorer. Gli URL di destinazione vengono forniti come ProcessStartInfo argomenti.

#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()
{
    // URLs 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();
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // 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 = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        ' Opens the Internet Explorer application.
        Public Sub OpenApplication(myFavoritesPath As String)
            ' 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)
        End Sub

        ' Opens URLs and .html documents using Internet Explorer.
        Sub OpenWithArguments()
            ' URLs 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")
        End Sub

        ' Uses the ProcessStartInfo class to start new processes,
        ' both in a minimized mode.
        Sub OpenWithStartInfo()
            Dim startInfo As New ProcessStartInfo("IExplore.exe")
            startInfo.WindowStyle = ProcessWindowStyle.Minimized

            Process.Start(startInfo)

            startInfo.Arguments = "www.northwindtraders.com"

            Process.Start(startInfo)
        End Sub

        Shared Sub Main()
            ' Get the path that stores favorite links.
            Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

            Dim myProcess As New MyProcess()

            myProcess.OpenApplication(myFavoritesPath)
            myProcess.OpenWithArguments()
            myProcess.OpenWithStartInfo()
        End Sub
    End Class
End Namespace 'MyProcessSample

Commenti

ProcessStartInfo viene usato insieme al Process componente . Quando si avvia un processo usando la Process classe , è possibile accedere alle informazioni di elaborazione oltre a quella disponibile durante il collegamento a un processo in esecuzione.

È possibile usare la ProcessStartInfo classe per un migliore controllo sul processo avviato. È necessario impostare almeno la FileName proprietà manualmente o usando il costruttore . Il nome del file è un'applicazione o un documento. In questo caso viene definito un documento come qualsiasi tipo di file a cui è associata un'azione aperta o predefinita. È possibile visualizzare i tipi di file registrati e le relative applicazioni associate per il computer tramite la finestra di dialogo Opzioni cartella , disponibile tramite il sistema operativo. Il pulsante Avanzate consente di visualizzare una finestra di dialogo che indica se è presente un'azione aperta associata a un tipo di file registrato specifico.

Inoltre, è possibile impostare altre proprietà che definiscono le azioni da eseguire con tale file. È possibile specificare un valore specifico per il tipo della FileName proprietà per la Verb proprietà . Ad esempio, è possibile specificare "print" per un tipo di documento. Inoltre, è possibile specificare Arguments i valori delle proprietà come argomenti della riga di comando da passare alla routine aperta del file. Ad esempio, se si specifica un'applicazione editor di testo nella FileName proprietà , è possibile utilizzare la Arguments proprietà per specificare un file di testo da aprire dall'editor.

L'input standard è in genere la tastiera e l'output standard e l'errore standard sono in genere lo schermo del monitor. Tuttavia, è possibile usare le RedirectStandardInputproprietà , RedirectStandardOutpute RedirectStandardError per fare in modo che il processo possa ottenere l'input o restituire l'output in un file o in un altro dispositivo. Se si usano le StandardInputproprietà , StandardOutputo StandardError nel Process componente, è necessario innanzitutto impostare il valore corrispondente nella ProcessStartInfo proprietà . In caso contrario, il sistema genera un'eccezione quando si legge o si scrive nel flusso.

Impostare la UseShellExecute proprietà per specificare se avviare il processo usando la shell del sistema operativo. Se UseShellExecute è impostato su false, il nuovo processo eredita rispettivamente i flussi di input standard, output standard e di errore standard del processo chiamante, a meno che le RedirectStandardInputproprietà , RedirectStandardOutputo RedirectStandardError siano impostate rispettivamente su true.

È possibile modificare il valore di qualsiasi ProcessStartInfo proprietà fino all'avvio del processo. Dopo aver avviato il processo, la modifica di questi valori non ha alcun effetto.

Importante

L'utilizzo di un'istanza di tale oggetto con i dati non attendibili implica un rischio per la sicurezza. Usare questo oggetto solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

Nota

Questa classe contiene una richiesta di collegamento a livello di classe che si applica a tutti i membri. Viene SecurityException generata un'eccezione quando il chiamante immediato non dispone dell'autorizzazione di attendibilità totale. Per informazioni dettagliate sulle richieste di sicurezza, vedere Richieste di collegamento.

Costruttori

ProcessStartInfo()

Inizializza una nuova istanza della classe ProcessStartInfo senza specificare un nome file con il quale avviare il processo.

ProcessStartInfo(String)

Inizializza una nuova istanza della classe ProcessStartInfo e specifica un nome file, ad esempio un'applicazione o un documento, con il quale avviare il processo.

ProcessStartInfo(String, IEnumerable<String>)

Specifica un insieme di valori usati all'avvio di un processo.

ProcessStartInfo(String, String)

Inizializza una nuova istanza della classe ProcessStartInfo, specifica il nome file di un'applicazione con cui avviare il processo e determina un insieme di argomenti della riga di comando da passare all'applicazione.

Proprietà

ArgumentList

Ottiene una raccolta di argomenti della riga di comando da usare all'avvio dell'applicazione. Non è necessario che le stringhe aggiunte all'elenco siano precedute da un carattere di escape.

Arguments

Ottiene o imposta l'insieme di argomenti della riga di comando da usare all'avvio dell'applicazione.

CreateNoWindow

Ottiene o imposta un valore che indica se avviare il processo in una nuova finestra.

Domain

Ottiene o imposta un valore che identifica il dominio da usare all'avvio del processo. Se questo valore è null, la proprietà UserName deve essere specificata in formato UPN.

Environment

Ottiene le variabili di ambiente applicabili a questo processo e ai processi figlio.

EnvironmentVariables

Ottiene i percorsi di ricerca dei file, le directory dei file temporanei, le opzioni specifiche delle applicazioni e altre informazioni simili.

ErrorDialog

Ottiene o imposta un valore che indica se viene visualizzata una finestra di dialogo di errore all'utente quando il processo non può essere avviato.

ErrorDialogParentHandle

Ottiene o imposta l'handle della finestra da usare quando viene visualizzata una finestra di dialogo di errore per un processo che non può essere avviato.

FileName

Ottiene o imposta l'applicazione o il documento da avviare.

LoadUserProfile

Ottiene o imposta un valore che indica se deve essere caricato il profilo utente di Windows dal Registro di sistema.

Password

Ottiene o imposta una stringa sicura che contiene la password utente da usare all'avvio del processo.

PasswordInClearText

Ottiene o imposta la password utente in testo non crittografato da usare all'avvio del processo.

RedirectStandardError

Ottiene o imposta un valore che indica se l'output di errore di un'applicazione viene scritto nel flusso StandardError.

RedirectStandardInput

Ottiene o imposta un valore che indica se l'input per un'applicazione viene letto dal flusso StandardInput.

RedirectStandardOutput

Ottiene o imposta un valore che indica se l'output testuale di un'applicazione viene scritto nel flusso StandardOutput.

StandardErrorEncoding

Ottiene o imposta la codifica preferita per l'output di errore.

StandardInputEncoding

Ottiene o imposta la codifica preferita per l'input standard.

StandardOutputEncoding

Ottiene o imposta la codifica preferita per l'output standard.

UseCredentialsForNetworkingOnly

Specifica un insieme di valori usati all'avvio di un processo.

UserName

Ottiene o imposta il nome utente da usare all'avvio del processo. Se si usa il formato UPN, user@DNS_domain_name, la proprietà Domain deve essere null.

UseShellExecute

Ottiene o imposta un valore che indica se usare la shell del sistema operativo per avviare il processo.

Verb

Ottiene o imposta il verbo da utilizzare nell'apertura dell'applicazione o del documento specificato dalla proprietà FileName.

Verbs

Ottiene o imposta i verbi associati al tipo di file specificato dalla proprietà FileName.

WindowStyle

Ottiene o imposta lo stato della finestra da usare una volta avviato il processo.

WorkingDirectory

Quando la proprietà UseShellExecute è false, ottiene o imposta la directory di lavoro per il processo da avviare. Quando la proprietà UseShellExecute è true, ottiene o imposta la directory che contiene il processo da avviare.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche