ProcessStartInfo Klasa

Definicja

Określa zestaw wartości używanych podczas uruchamiania procesu.

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
Dziedziczenie
ProcessStartInfo
Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak użyć ProcessStartInfo klasy do uruchomienia programu Internet Explorer. Docelowe adresy URL są udostępniane jako ProcessStartInfo argumenty.

#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

Uwagi

ProcessStartInfo jest używany razem ze składnikiem Process . Po rozpoczęciu Process procesu przy użyciu klasy masz dostęp do przetwarzania informacji poza tym dostępnym podczas dołączania do uruchomionego procesu.

Możesz użyć ProcessStartInfo klasy, aby uzyskać lepszą kontrolę nad rozpoczęciem procesu. Należy przynajmniej ustawić FileName właściwość ręcznie lub przy użyciu konstruktora. Nazwa pliku to dowolna aplikacja lub dokument. W tym miejscu dokument jest definiowany jako dowolny typ pliku, który ma skojarzona otwartą lub domyślną akcję. Zarejestrowane typy plików i skojarzone z nimi aplikacje dla komputera można wyświetlić za pomocą okna dialogowego Opcje folderów , które jest dostępne za pośrednictwem systemu operacyjnego. Przycisk Zaawansowane prowadzi do okna dialogowego, które pokazuje, czy istnieje otwarta akcja skojarzona z określonym zarejestrowanym typem pliku.

Ponadto można ustawić inne właściwości definiujące akcje do wykonania za pomocą tego pliku. Można określić wartość specyficzną dla typu FileName właściwości Verb . Można na przykład określić "print" dla typu dokumentu. Ponadto można określić Arguments wartości właściwości, które mają być argumentami wiersza polecenia, które mają zostać przekazane do procedury otwierania pliku. Jeśli na przykład określisz aplikację edytora tekstów we FileName właściwości, możesz użyć Arguments właściwości , aby określić plik tekstowy do otwarcia przez edytor.

Dane wejściowe w warstwie Standardowa to zwykle klawiatura, a standardowe dane wyjściowe i standardowy błąd to zwykle ekran monitora. Można jednak użyć RedirectStandardInputwłaściwości , RedirectStandardOutputi RedirectStandardError , aby spowodować, że proces pobiera dane wejściowe z pliku lub innego urządzenia zwraca dane wyjściowe. Jeśli używasz StandardInputwłaściwości , StandardOutputlub StandardError w składniku Process , musisz najpierw ustawić odpowiednią wartość właściwości ProcessStartInfo . W przeciwnym razie system zgłasza wyjątek podczas odczytu lub zapisu w strumieniu.

UseShellExecute Ustaw właściwość , aby określić, czy proces ma zostać uruchomiony przy użyciu powłoki systemu operacyjnego. Jeśli UseShellExecute ustawiono falsewartość , nowy proces dziedziczy standardowe dane wejściowe, standardowe dane wyjściowe i standardowe strumienie błędów procesu wywołującego, chyba że RedirectStandardOutputRedirectStandardInputodpowiednio dla właściwości , lub RedirectStandardError ustawiono truewartość .

Możesz zmienić wartość dowolnej ProcessStartInfo właściwości do czasu rozpoczęcia procesu. Po rozpoczęciu procesu zmiana tych wartości nie ma wpływu.

Ważne

Użycie wystąpienia tego obiektu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Weryfikowanie wszystkich danych wejściowych.

Uwaga

Ta klasa zawiera żądanie łącza na poziomie klasy, które ma zastosowanie do wszystkich elementów członkowskich. Element SecurityException jest zgłaszany, gdy bezpośredni obiekt wywołujący nie ma uprawnień pełnego zaufania. Aby uzyskać szczegółowe informacje o wymaganiach dotyczących zabezpieczeń, zobacz Łączenie żądań.

Konstruktory

ProcessStartInfo()

Inicjuje nowe wystąpienie ProcessStartInfo klasy bez określania nazwy pliku, z którą ma rozpocząć proces.

ProcessStartInfo(String)

Inicjuje ProcessStartInfo nowe wystąpienie klasy i określa nazwę pliku, taką jak aplikacja lub dokument, z którym ma rozpocząć proces.

ProcessStartInfo(String, IEnumerable<String>)

Określa zestaw wartości używanych podczas uruchamiania procesu.

ProcessStartInfo(String, String)

Inicjuje nowe wystąpienie ProcessStartInfo klasy, określa nazwę pliku aplikacji, z którą ma zostać uruchomiony proces, i określa zestaw argumentów wiersza polecenia do przekazania do aplikacji.

Właściwości

ArgumentList

Pobiera kolekcję argumentów wiersza polecenia do użycia podczas uruchamiania aplikacji. Ciągi dodane do listy nie muszą być wcześniej ucieczki.

Arguments

Pobiera lub ustawia zestaw argumentów wiersza polecenia do użycia podczas uruchamiania aplikacji.

CreateNoWindow

Pobiera lub ustawia wartość wskazującą, czy proces ma być uruchomiony w nowym oknie.

Domain

Pobiera lub ustawia wartość, która identyfikuje domenę do użycia podczas uruchamiania procesu. Jeśli ta wartość to null, właściwość musi być określona UserName w formacie NAZWY UPN.

Environment

Pobiera zmienne środowiskowe, które mają zastosowanie do tego procesu i jego procesów podrzędnych.

EnvironmentVariables

Pobiera ścieżki wyszukiwania plików, katalogów plików tymczasowych, opcji specyficznych dla aplikacji i innych podobnych informacji.

ErrorDialog

Pobiera lub ustawia wartość wskazującą, czy okno dialogowe błędu jest wyświetlane użytkownikowi, jeśli nie można uruchomić procesu.

ErrorDialogParentHandle

Pobiera lub ustawia uchwyt okna do użycia, gdy okno dialogowe błędu jest wyświetlane dla procesu, którego nie można uruchomić.

FileName

Pobiera lub ustawia aplikację lub dokument do uruchomienia.

LoadUserProfile

Pobiera lub ustawia wartość wskazującą, czy profil użytkownika systemu Windows ma zostać załadowany z rejestru.

Password

Pobiera lub ustawia bezpieczny ciąg zawierający hasło użytkownika do użycia podczas uruchamiania procesu.

PasswordInClearText

Pobiera lub ustawia hasło użytkownika w postaci zwykłego tekstu do użycia podczas uruchamiania procesu.

RedirectStandardError

Pobiera lub ustawia wartość wskazującą, czy dane wyjściowe błędu aplikacji są zapisywane w strumieniu StandardError .

RedirectStandardInput

Pobiera lub ustawia wartość wskazującą, czy dane wejściowe aplikacji są odczytywane ze strumienia StandardInput .

RedirectStandardOutput

Pobiera lub ustawia wartość wskazującą, czy tekstowe dane wyjściowe aplikacji są zapisywane w strumieniu StandardOutput .

StandardErrorEncoding

Pobiera lub ustawia preferowane kodowanie dla danych wyjściowych błędów.

StandardInputEncoding

Pobiera lub ustawia preferowane kodowanie dla standardowych danych wejściowych.

StandardOutputEncoding

Pobiera lub ustawia preferowane kodowanie dla standardowych danych wyjściowych.

UseCredentialsForNetworkingOnly

Określa zestaw wartości używanych podczas uruchamiania procesu.

UserName

Pobiera lub ustawia nazwę użytkownika do użycia podczas uruchamiania procesu. Jeśli używasz formatu NAZWY UPN, userDomain@DNS_domain_namewłaściwość musi mieć nullwartość .

UseShellExecute

Pobiera lub ustawia wartość wskazującą, czy należy użyć powłoki systemu operacyjnego do uruchomienia procesu.

Verb

Pobiera lub ustawia czasownik do użycia podczas otwierania aplikacji lub dokumentu określonego FileName przez właściwość.

Verbs

Pobiera zestaw czasowników skojarzonych z typem FileName pliku określonym przez właściwość.

WindowStyle

Pobiera lub ustawia stan okna do użycia podczas uruchamiania procesu.

WorkingDirectory

UseShellExecute Gdy właściwość to false, pobiera lub ustawia katalog roboczy, aby proces został uruchomiony. Gdy UseShellExecute parametr to true, pobiera lub ustawia katalog zawierający proces, który ma zostać uruchomiony.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też