Condividi tramite


ProcessStartInfo Classe

Definizione

Specifica un set di valori utilizzati 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;
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 sull'elaborazione oltre a quella disponibile quando si esegue il collegamento a un processo in esecuzione.

È possibile usare la ProcessStartInfo classe per controllare meglio il processo avviato. È necessario impostare almeno la FileName proprietà manualmente o usando il costruttore . Il nome del file è qualsiasi applicazione o documento. In questo caso un documento è definito 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 usando 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 "stampa" 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, mentre 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 ottenga l'input o restituisca l'output in un file o in un altro dispositivo. Se si usano le StandardInputproprietà , StandardOutputo StandardError nel Process componente, è prima necessario 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 i flussi di input standard, output standard e di errore standard del processo chiamante, a meno che le RedirectStandardInputproprietà , RedirectStandardOutputo RedirectStandardError , rispettivamente, siano impostate 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'uso di un'istanza di questo tipo con dati non attendibili è un rischio per la sicurezza. Utilizzare questo oggetto solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

Annotazioni

Questa classe contiene una richiesta di collegamento a livello di classe applicabile 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

Nome Descrizione
ProcessStartInfo()

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

ProcessStartInfo(String, IEnumerable<String>)

Inizializza una nuova istanza della ProcessStartInfo classe e specifica il nome dell'applicazione da avviare e un set di argomenti della riga di comando da passare all'applicazione.

ProcessStartInfo(String, String)

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

ProcessStartInfo(String)

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

Proprietà

Nome Descrizione
ArgumentList

Ottiene una raccolta di argomenti della riga di comando da utilizzare all'avvio dell'applicazione. Le stringhe aggiunte all'elenco non devono essere precedute da un escape.

Arguments

Ottiene o imposta il set di argomenti della riga di comando da utilizzare all'avvio dell'applicazione.

CreateNewProcessGroup

Ottiene o imposta un valore che indica se avviare il processo in un nuovo gruppo di processi.

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 utilizzare all'avvio del processo. Se questo valore è null, la UserName proprietà deve essere specificata in formato UPN.

Environment

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

EnvironmentVariables

Ottiene i percorsi di ricerca per file, directory per file temporanei, opzioni specifiche dell'applicazione e altre informazioni simili.

ErrorDialog

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

ErrorDialogParentHandle

Ottiene o imposta l'handle di finestra da utilizzare 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 il profilo utente di Windows deve essere caricato dal Registro di sistema.

Password

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

PasswordInClearText

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

RedirectStandardError

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

RedirectStandardInput

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

RedirectStandardOutput

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

StandardErrorEncoding

Ottiene o imposta la codifica preferita per l'output degli errori.

StandardInputEncoding

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

StandardOutputEncoding

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

UseCredentialsForNetworkingOnly

Ottiene o imposta un valore che indica se le credenziali utente vengono usate solo per le risorse di rete.

UserName

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

UseShellExecute

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

Verb

Ottiene o imposta il verbo da utilizzare quando si apre l'applicazione o il FileName documento specificato dalla proprietà .

Verbs

Ottiene il set di verbi associati al tipo di file specificato dalla FileName proprietà .

WindowStyle

Ottiene o imposta lo stato della finestra da utilizzare all'avvio del processo.

WorkingDirectory

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

Metodi

Nome Descrizione
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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche