ProcessStartInfo Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 è |
| 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, |
| 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à è |
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) |