Process.Start Metoda

Definice

Spustí prostředek procesu a přidruží ho k Process součásti.Starts a process resource and associates it with a Process component.

Přetížení

Start(String, String, String, SecureString, String)

Spustí prostředek procesu zadáním názvu aplikace, sady argumentů příkazového řádku, uživatelského jména, hesla a domény a přidruží prostředek k nové Process komponentě.Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new Process component.

Start(String, String, SecureString, String)

Spustí prostředek procesu zadáním názvu aplikace, uživatelského jména, hesla a domény a přidruží prostředek k nové Process součásti.Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new Process component.

Start(String, String)

Spustí prostředek procesu zadáním názvu aplikace a sady argumentů příkazového řádku a přidruží prostředek k nové Process komponentě.Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new Process component.

Start()

Spustí (nebo znovu použije) prostředek procesu, který je určen StartInfo vlastností této Process součásti a přidruží ho k komponentě.Starts (or reuses) the process resource that is specified by the StartInfo property of this Process component and associates it with the component.

Start(String)

Spustí prostředek procesu zadáním názvu dokumentu nebo souboru aplikace a přidruží prostředek k nové Process součásti.Starts a process resource by specifying the name of a document or application file and associates the resource with a new Process component.

Start(ProcessStartInfo)

Spustí prostředek procesu určený parametrem obsahujícím informace o spuštění procesu (například název souboru procesu, který má být spuštěn) a přidruží prostředek k nové Process součásti.Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new Process component.

Start(String, IEnumerable<String>)

Spustí prostředek procesu zadáním názvu aplikace a sady argumentů příkazového řádku.Starts a process resource by specifying the name of an application and a set of command line arguments.

Start(String, String, String, SecureString, String)

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Spustí prostředek procesu zadáním názvu aplikace, sady argumentů příkazového řádku, uživatelského jména, hesla a domény a přidruží prostředek k nové Process komponentě.Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
public static System.Diagnostics.Process? Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start (string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String, userName As String, password As SecureString, domain As String) As Process

Parametry

fileName
String

Název souboru aplikace, který má být spuštěn v procesu.The name of an application file to run in the process.

arguments
String

Argumenty příkazového řádku předané při spuštění procesu.Command-line arguments to pass when starting the process.

userName
String

Uživatelské jméno, které se má použít při spuštění procesu.The user name to use when starting the process.

password
SecureString

A SecureString který obsahuje heslo, které se má použít při spuštění procesu.A SecureString that contains the password to use when starting the process.

domain
String

Doména, která se má použít při spuštění procesu.The domain to use when starting the process.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started. Všimněte si, že nový proces, který je spuštěn souběžně a již spuštěným instancí stejného procesu, bude nezávisle na ostatních.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Kromě toho může začít vracet nenulový proces s jeho HasExited vlastností již nastavenou na true .In addition, Start may return a non-null Process with its HasExited property already set to true. V tomto případě je možné, že spuštěný proces mohl aktivovat existující instanci sebe sama a pak ji ukončit.In this case, the started process may have activated an existing instance of itself and then exited.

Atributy

Výjimky

Nebyl zadán žádný název souboru.No file name was specified.

Při otevírání přidruženého souboru došlo k chybě.An error occurred when opening the associated file.

-nebo--or-

Soubor zadaný v souboru nebyl fileName nalezen.The file specified in the fileName could not be found.

-nebo--or- Součet délky argumentů a délky úplné cesty k přidruženému souboru překračuje 2080.The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. Chybová zpráva přidružená k této výjimce může být jedna z následujících: "oblast dat předaná do systémového volání je příliš malá."The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." nebo "přístup byl odepřen".or "Access is denied."

Objekt procesu již byl uvolněn.The process object has already been disposed.

Tento člen není podporován v systémech Linux a macOS (pouze .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Poznámky

Toto přetížení použijte k vytvoření nového procesu a jeho primárního vlákna zadáním jeho názvu souboru, argumentů příkazového řádku, uživatelského jména, hesla a domény.Use this overload to create a new process and its primary thread by specifying its file name, command-line arguments, user name, password, and domain. Nový proces potom spustí zadaný spustitelný soubor v kontextu zabezpečení zadaných přihlašovacích údajů (uživatel, doména a heslo).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Poznámka

Pokud je spustitelný soubor umístěn na vzdálené jednotce, je nutné identifikovat sdílenou síťovou složku pomocí identifikátoru URI (Uniform Resource Identifier), nikoli písmene propojené jednotky.When the executable file is located on a remote drive, you must identify the network share by using a uniform resource identifier (URI), not a linked drive letter.

Poznámka

Pokud adresa spustitelného souboru, který má být spuštěn, je adresa URL, proces není spuštěn a null je vrácen.If the address of the executable file to start is a URL, the process is not started and null is returned.

Toto přetížení umožňuje spustit proces bez prvotního vytvoření nové Process instance.This overload lets you start a process without first creating a new Process instance. Přetížení je alternativou k explicitním krokům při vytváření nové Process instance, nastavení FileName Arguments vlastností,,, a vlastností vlastnosti UserName Password Domain StartInfo a volání Start Process instance.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName, Arguments, UserName, Password, and Domain properties of the StartInfo property, and calling Start for the Process instance.

Podobně ve stejném způsobu, jakým může dialogové okno Spustit přijmout název spustitelného souboru s příponou. exe nebo bez něj, je přípona. exe v parametru volitelná fileName .Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Můžete například nastavit fileName parametr na "Notepad.exe" nebo "Notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Pokud fileName parametr představuje spustitelný soubor, arguments parametr může představovat soubor, na kterém se má jednat, například textový soubor v Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt.

Poznámka

Název souboru musí představovat spustitelný soubor v Start přetíženích, která mají userName password parametry, a domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Platí pro

Start(String, String, SecureString, String)

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Spustí prostředek procesu zadáním názvu aplikace, uživatelského jména, hesla a domény a přidruží prostředek k nové Process součásti.Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
public static System.Diagnostics.Process? Start (string fileName, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start (string fileName, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start (string fileName, string userName, System.Security.SecureString password, string domain);
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, userName As String, password As SecureString, domain As String) As Process

Parametry

fileName
String

Název souboru aplikace, který má být spuštěn v procesu.The name of an application file to run in the process.

userName
String

Uživatelské jméno, které se má použít při spuštění procesu.The user name to use when starting the process.

password
SecureString

A SecureString který obsahuje heslo, které se má použít při spuštění procesu.A SecureString that contains the password to use when starting the process.

domain
String

Doména, která se má použít při spuštění procesu.The domain to use when starting the process.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started. Všimněte si, že nový proces, který je spuštěn souběžně a již spuštěným instancí stejného procesu, bude nezávisle na ostatních.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Kromě toho může začít vracet nenulový proces s jeho HasExited vlastností již nastavenou na true .In addition, Start may return a non-null Process with its HasExited property already set to true. V tomto případě je možné, že spuštěný proces mohl aktivovat existující instanci sebe sama a pak ji ukončit.In this case, the started process may have activated an existing instance of itself and then exited.

Atributy

Výjimky

Nebyl zadán žádný název souboru.No file name was specified.

Při otevírání přidruženého souboru došlo k chybě.There was an error in opening the associated file.

-nebo--or-

Soubor zadaný v souboru nebyl fileName nalezen.The file specified in the fileName could not be found.

Objekt procesu již byl uvolněn.The process object has already been disposed.

Tento člen není podporován v systémech Linux a macOS (pouze .NET Core).This member is not supported on Linux or macOS (.NET Core only).

Příklady

Následující příklad kódu ukazuje použití tohoto přetížení ke spuštění spustitelného souboru a také ukazuje vyvolání Win32Exception při pokusu o spuštění aplikace přidružené k nespustitelnému souboru.The following code example shows the use of this overload to start an executable file and also demonstrates the throwing of a Win32Exception when an attempt is made to start an application associated with a nonexecutable file.

// NOTE: This example requires a text.txt file file in your Documents folder
using System;
using System.Diagnostics;
using System.Security;
using System.ComponentModel;

class Example
{
    static void Main()
    {
        Console.Write("Enter your domain: ");
        string domain = Console.ReadLine();
        Console.Write("Enter you user name: ");
        string uname = Console.ReadLine();
        Console.Write("Enter your password: ");
        SecureString password = new SecureString();
        ConsoleKeyInfo key;
        do
        {
            key = Console.ReadKey(true);

            // Ignore any key out of range.
            if (((int)key.Key) >= 33 && ((int)key.Key <= 90) && key.Key != ConsoleKey.Enter)
            {
                // Append the character to the password.
                password.AppendChar(key.KeyChar);
                Console.Write("*");
            }
            // Exit if Enter key is pressed.
        } while (key.Key != ConsoleKey.Enter);
        Console.WriteLine();

        try
        {
            Console.WriteLine("\nTrying to launch NotePad using your login information...");
            Process.Start("notepad.exe", uname, password, domain);
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\";

        try
        {
            // The following call to Start succeeds if test.txt exists.
            Console.WriteLine("\nTrying to launch 'text.txt'...");
            Process.Start(path + "text.txt");
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        try
        {
            // Attempting to start in a shell using this Start overload fails. This causes
            // the following exception, which is picked up in the catch block below:
            // The specified executable is not a valid application for this OS platform.
            Console.WriteLine("\nTrying to launch 'text.txt' with your login information...");
            Process.Start(path + "text.txt", uname, password, domain);
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            password.Dispose();
        }
    }
}
' This sample requires a text.txt file file in your documents folder.
' You'll also need to set the startup object in the project to Sub Main.
Imports System.Diagnostics
Imports System.Security
Imports System.ComponentModel

Module Program
    Sub Main()
        Console.Write("Enter your domain: ")
        Dim domain As String = Console.ReadLine()
        Console.Write("Enter you user name: ")
        Dim uname As String = Console.ReadLine()
        Console.Write("Enter your password: ")
        Dim password As New SecureString()
        Dim key As ConsoleKeyInfo
        Do
            key = Console.ReadKey(True)

            ' Ignore any key out of range.
            If key.Key >= 33 AndAlso key.Key <= 90 AndAlso key.Key <> ConsoleKey.Enter Then
                ' Append the character to the password.
                password.AppendChar(key.KeyChar)
                Console.Write("*")
            End If
            ' Exit if Enter key is pressed.
        Loop While key.Key <> ConsoleKey.Enter
        Console.WriteLine()

        Try
            Console.WriteLine(vbCrLf + "Trying to launch NotePad using your login information...")
            Process.Start("notepad.exe", uname, password, domain)
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        End Try

        Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\"

        Try
            ' The following call to Start succeeds if test.txt exists.
            Console.WriteLine(vbCrLf + "Trying to launch 'text.txt'...")
            Process.Start(path + "Text.txt")
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        End Try

        Try
            ' Attempting to start in a shell using this Start overload fails. This causes
            ' the following exception, which is picked up in the catch block below:
            ' The specified executable is not a valid application for this OS platform.
            Console.WriteLine(vbCrLf + "Trying to launch 'text.txt' with your login information...")
            Process.Start(path + "Text.txt", uname, password, domain)
        Catch ex As Win32Exception
            Console.WriteLine(ex.Message)
        Finally
            password.Dispose()
        End Try
    End Sub
End Module

Poznámky

Toto přetížení použijte k vytvoření nového procesu a jeho primárního vlákna zadáním jeho názvu souboru, uživatelského jména, hesla a domény.Use this overload to create a new process and its primary thread by specifying its file name, user name, password, and domain. Nový proces potom spustí zadaný spustitelný soubor v kontextu zabezpečení zadaných přihlašovacích údajů (uživatel, doména a heslo).The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

Poznámka

Pokud je spustitelný soubor umístěn na vzdálené jednotce, je nutné identifikovat sdílenou síťovou složku pomocí identifikátoru URI (Uniform Resource Identifier), nikoli písmene propojené jednotky.When the executable file is located on a remote drive, you must identify the network share by using a uniform resource identifier (URI), not a linked drive letter.

Poznámka

Pokud adresa spustitelného souboru, který má být spuštěn, je adresa URL, proces není spuštěn a null je vrácen.If the address of the executable file to start is a URL, the process is not started and null is returned.

Toto přetížení umožňuje spustit proces bez prvotního vytvoření nové Process instance.This overload lets you start a process without first creating a new Process instance. Přetížení je alternativou k explicitním krokům při vytváření nové Process instance, nastavení FileName UserName vlastností,, a Password Domain vlastností StartInfo vlastnosti a volání Start Process instance.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName, UserName, Password, and Domain properties of the StartInfo property, and calling Start for the Process instance.

Podobně ve stejném způsobu, jakým může dialogové okno Spustit přijmout název spustitelného souboru s příponou. exe nebo bez něj, je přípona. exe v parametru volitelná fileName .Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Můžete například nastavit fileName parametr na "Notepad.exe" nebo "Notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Pokud fileName parametr představuje spustitelný soubor, arguments parametr může představovat soubor, na kterém se má jednat, například textový soubor v Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt.

Poznámka

Název souboru musí představovat spustitelný soubor v Start přetíženích, která mají userName password parametry, a domain .The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Platí pro

Start(String, String)

Spustí prostředek procesu zadáním názvu aplikace a sady argumentů příkazového řádku a přidruží prostředek k nové Process komponentě.Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments);
public static System.Diagnostics.Process Start (string fileName, string arguments);
static member Start : string * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String) As Process

Parametry

fileName
String

Název souboru aplikace, který má být spuštěn v procesu.The name of an application file to run in the process.

arguments
String

Argumenty příkazového řádku předané při spuštění procesu.Command-line arguments to pass when starting the process.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started. Všimněte si, že nový proces, který je spuštěn souběžně a již spuštěným instancí stejného procesu, bude nezávisle na ostatních.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Kromě toho může začít vracet nenulový proces s jeho HasExited vlastností již nastavenou na true .In addition, Start may return a non-null Process with its HasExited property already set to true. V tomto případě je možné, že spuštěný proces mohl aktivovat existující instanci sebe sama a pak ji ukončit.In this case, the started process may have activated an existing instance of itself and then exited.

Výjimky

fileNameParametr nebo arguments je null .The fileName or arguments parameter is null.

Při otevírání přidruženého souboru došlo k chybě.An error occurred when opening the associated file.

-nebo--or-

Soubor zadaný v souboru nebyl fileName nalezen.The file specified in the fileName could not be found.

-nebo--or- Součet délky argumentů a délky úplné cesty k procesu překračuje 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. Chybová zpráva přidružená k této výjimce může být jedna z následujících: "oblast dat předaná do systémového volání je příliš malá."The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." nebo "přístup byl odepřen".or "Access is denied."

Objekt procesu již byl uvolněn.The process object has already been disposed.

Proměnná prostředí PATH má řetězec obsahující uvozovky.The PATH environment variable has a string containing quotes.

Příklady

Následující příklad nejprve vytvoří instanci aplikace Internet Explorer a zobrazí obsah složky Oblíbené v prohlížeči.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Potom spustí některé jiné instance aplikace Internet Explorer a zobrazí některé konkrétní stránky nebo weby.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Nakonec spustí Internet Explorer s oknem, které je minimalizováno při přechodu na konkrétní web.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

#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

Poznámky

Pomocí tohoto přetížení můžete spustit prostředek procesu zadáním jeho názvu souboru a argumentů příkazového řádku.Use this overload to start a process resource by specifying its file name and command-line arguments. Přetížení přidruží prostředek k novému Process objektu.The overload associates the resource with a new Process object.

Poznámka

Pokud adresa spustitelného souboru, který má být spuštěn, je adresa URL, proces není spuštěn a null je vrácen.If the address of the executable file to start is a URL, the process is not started and null is returned.

Toto přetížení umožňuje spustit proces bez prvotního vytvoření nové Process instance.This overload lets you start a process without first creating a new Process instance. Přetížení je alternativou k explicitním krokům při vytváření nové Process instance, nastavení FileName a Arguments členů StartInfo vlastnosti a volání Start Process instance.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName and Arguments members of the StartInfo property, and calling Start for the Process instance.

Spuštění procesu zadáním názvu a argumentů souboru se podobá zadání názvu souboru a argumentů příkazového řádku v Run dialogovém okně Start nabídky Windows.Starting a process by specifying its file name and arguments is similar to typing the file name and command-line arguments in the Run dialog box of the Windows Start menu. Proto název souboru nemusí představovat spustitelný soubor.Therefore, the file name does not need to represent an executable file. Může to být jakýkoli typ souboru, pro který bylo rozšíření přidruženo k aplikaci nainstalované v systému.It can be of any file type for which the extension has been associated with an application installed on the system. Název souboru může mít například příponu. txt, pokud máte přidružené textové soubory s editorem, jako je například Poznámkový blok, nebo může mít soubor. doc, pokud jste přidružili soubory. doc pomocí nástroje pro zpracování textu, jako je například Microsoft Word.For example the file name can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc if you have associated .doc files with a word processing tool, such as Microsoft Word. Podobně ve stejném způsobu, jakým Run může dialogové okno přijmout název spustitelného souboru s příponou. exe nebo bez něj, je přípona. exe v parametru volitelná fileName .Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Můžete například nastavit fileName parametr na "Notepad.exe" nebo "Notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". Pokud fileName parametr představuje spustitelný soubor, arguments parametr může představovat soubor, na kterém se má jednat, například textový soubor v Notepad.exe myfile.txt .If the fileName parameter represents an executable file, the arguments parameter might represent a file to act upon, such as the text file in Notepad.exe myfile.txt. Pokud fileName parametr představuje soubor příkazu (. cmd), arguments parametr musí zahrnovat buď /c argument "" nebo " /k ", který určuje, zda se příkazové okno ukončí nebo zůstane po dokončení.If the fileName parameter represents a command (.cmd) file, the arguments parameter must include either a "/c" or "/k" argument to specify whether the command window exits or remains after completion.

Na rozdíl od ostatních přetížení není přetížení Start , které nemá žádné parametry, static členem.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Toto přetížení použijte, pokud už máte vytvořenou Process instanci a zadali jste počáteční informace (včetně názvu souboru) a chcete spustit prostředek procesu a přidružit ho k existující Process instanci.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Použijte jedno z static přetížení, pokud chcete vytvořit novou Process komponentu místo spuštění procesu pro existující komponentu.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Toto přetížení i přetížení, které nemá žádné parametry, umožňují zadat název souboru prostředku procesu, který se má spustit, a argumenty příkazového řádku, které se mají předat.Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start and command-line arguments to pass.

Pokud máte proměnnou cesty deklarovanou v systému pomocí uvozovek, musíte tuto cestu při spuštění libovolného procesu nalezeného v tomto umístění plně kvalifikovat.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. V opačném případě systém nenalezne cestu.Otherwise, the system will not find the path. Například pokud c:\mypath není ve vaší cestě a přidáte jej pomocí uvozovek: path = %path%;"c:\mypath" , je nutné plně kvalifikovat všechny procesy c:\mypath při spuštění.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Poznámka

ASP.NET webová stránka a kód ovládacího prvku serveru se spustí v kontextu pracovního procesu ASP.NET na webovém serveru.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Pokud použijete Start metodu na webové stránce nebo ovládacím prvku serveru ASP.NET, nový proces se spustí na webovém serveru s omezenými oprávněními.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. Proces se nespustí ve stejném kontextu jako prohlížeč klienta a nemá přístup k ploše uživatele.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Poznámka o stavech Apartment ve spravovaných vláknech je potřeba tady.A note about apartment states in managed threads is necessary here. Pokud UseShellExecute je true vlastnost na komponentě procesu StartInfo , ujistěte se, že jste v aplikaci nastavili model dělení na vlákna nastavením atributu [STAThread] main() metody.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. V opačném případě může být spravované vlákno ve unknown stavu nebo umístěno ve MTA stavu, v němž jsou v konfliktu UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Některé metody vyžadují, aby stav objektu Apartment nebyl unknown .Some methods require that the apartment state not be unknown. Pokud stav není explicitně nastaven, když aplikace nalezne takovou metodu, nastaví ji na výchozí hodnotu MTA a jakmile je nastavena, nelze změnit stav objektu apartment.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Nicméně MTA způsobí, že výjimka bude vyvolána, když prostředí operačního systému spravuje vlákno.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Viz také

Platí pro

Start()

Spustí (nebo znovu použije) prostředek procesu, který je určen StartInfo vlastností této Process součásti a přidruží ho k komponentě.Starts (or reuses) the process resource that is specified by the StartInfo property of this Process component and associates it with the component.

public:
 bool Start();
public bool Start ();
member this.Start : unit -> bool
Public Function Start () As Boolean

Návraty

Boolean

true Pokud je spuštěn prostředek procesu; false Pokud není spuštěn žádný nový prostředek procesu (například při novém použití existujícího procesu).true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused).

Výjimky

V rámci součásti nebyl zadán žádný název souboru Process StartInfo .No file name was specified in the Process component's StartInfo.

-nebo--or-

UseShellExecuteČlenem StartInfo vlastnosti je true while RedirectStandardInput , RedirectStandardOutput nebo RedirectStandardError true .The UseShellExecute member of the StartInfo property is true while RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError is true.

Při otevírání přidruženého souboru došlo k chybě.There was an error in opening the associated file.

Objekt procesu již byl uvolněn.The process object has already been disposed.

Metoda není podporována v operačních systémech bez podpory prostředí, jako je nano Server (pouze .NET Core).Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Příklady

Následující příklad používá instanci Process třídy pro spuštění procesu.The following example uses an instance of the Process class to start a process.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

int main()
{
    Process^ myProcess = gcnew Process;

    try
    {
        myProcess->StartInfo->UseShellExecute = false;
        // You can start any process, HelloWorld is a do-nothing example.
        myProcess->StartInfo->FileName = "C:\\HelloWorld.exe";
        myProcess->StartInfo->CreateNoWindow = true;
        myProcess->Start();
        // This code assumes the process you are starting will terminate itself. 
        // Given that is is started without a window so you cannot terminate it 
        // on the desktop, it must terminate itself or you can do it programmatically
        // from this application using the Kill method.
    }
    catch ( Exception^ e ) 
    {
        Console::WriteLine( e->Message );
    }
}
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            try
            {
                using (Process myProcess = new Process())
                {
                    myProcess.StartInfo.UseShellExecute = false;
                    // You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.Start();
                    // This code assumes the process you are starting will terminate itself.
                    // Given that is is started without a window so you cannot terminate it
                    // on the desktop, it must terminate itself or you can do it programmatically
                    // from this application using the Kill method.
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Public Shared Sub Main()
            Try
                Using myProcess As New Process()

                    myProcess.StartInfo.UseShellExecute = False
                    ' You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"
                    myProcess.StartInfo.CreateNoWindow = True
                    myProcess.Start()
                    ' This code assumes the process you are starting will terminate itself. 
                    ' Given that is is started without a window so you cannot terminate it 
                    ' on the desktop, it must terminate itself or you can do it programmatically
                    ' from this application using the Kill method.
                End Using
            Catch e As Exception
                Console.WriteLine((e.Message))
            End Try
        End Sub
    End Class
End Namespace

Poznámky

Pomocí tohoto přetížení můžete spustit prostředek procesu a přidružit ho k aktuální Process komponentě.Use this overload to start a process resource and associate it with the current Process component. Vrácená hodnota true označuje, že byl spuštěn nový prostředek procesu.The return value true indicates that a new process resource was started. Pokud FileName StartInfo je v počítači již spuštěn prostředek procesu určený členem vlastnosti, není spuštěn žádný další prostředek procesu.If the process resource specified by the FileName member of the StartInfo property is already running on the computer, no additional process resource is started. Místo toho se znovu použije prostředek spuštěného procesu a false vrátí se.Instead, the running process resource is reused and false is returned.

Aplikaci ClickOnce můžete spustit zadáním umístění (například webové adresy), ze kterého jste původně nainstalovali aplikaci.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. Nespouštějte aplikaci ClickOnce zadáním umístění nainstalovaného na pevném disku.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Poznámka

Pokud používáte sadu Visual Studio, toto přetížení Start metody je ten, který vložíte do kódu po přetažení Process komponenty do návrháře.If you are using Visual Studio, this overload of the Start method is the one that you insert into your code after you drag a Process component onto the designer. PropertiesK rozbalení StartInfo kategorie a zápisu příslušné hodnoty do vlastnosti použijte okno FileName .Use the Properties window to expand the StartInfo category and write the appropriate value into the FileName property. Vaše změny se zobrazí v InitializeComponent proceduře formuláře.Your changes will appear in the form's InitializeComponent procedure.

Toto přetížení Start není static metodou.This overload of Start is not a static method. Je nutné ji volat z instance Process třídy.You must call it from an instance of the Process class. Před voláním Start musíte nejprve zadat StartInfo informace o vlastnostech této Process instance, protože tyto informace slouží k určení prostředku procesu, který se má spustit.Before calling Start, you must first specify StartInfo property information for this Process instance, because that information is used to determine the process resource to start.

Další přetížení Start metody jsou static členy.The other overloads of the Start method are static members. ProcessPřed voláním těchto přetížení metody není nutné vytvářet instanci komponenty.You do not need to create an instance of the Process component before you call those overloads of the method. Místo toho můžete zavolat Start pro Process samotnou třídu a Process při spuštění procesu se vytvoří nová komponenta.Instead, you can call Start for the Process class itself, and a new Process component is created if the process was started. Nebo null se vrátí, pokud byl proces znovu použit.Or, null is returned if a process was reused. Prostředek procesu je automaticky přidružen k nové Process součásti, která je vrácena Start metodou.The process resource is automatically associated with the new Process component that is returned by the Start method.

StartInfoČleny lze použít k duplikaci funkcí Run dialogového okna v nabídce systému Windows Start .The StartInfo members can be used to duplicate the functionality of the Run dialog box of the Windows Start menu. Cokoli, co lze zadat do příkazového řádku, lze spustit nastavením příslušných hodnot ve StartInfo Vlastnosti.Anything that can be typed into a command line can be started by setting the appropriate values in the StartInfo property. Jedinou StartInfo vlastností, která musí být nastavena, je FileName vlastnost.The only StartInfo property that must be set is the FileName property. FileNameVlastnost nemusí být spustitelný soubor.The FileName property does not have to be an executable file. Může to být jakýkoli typ souboru, pro který bylo rozšíření přidruženo k aplikaci, která je v systému nainstalovaná.It can be of any file type for which the extension has been associated with an application that is installed on the system. FileNameVlastnost může mít například příponu. txt, pokud máte přidružené textové soubory s editorem, jako je například Poznámkový blok, nebo může mít příponu. doc, pokud jste přidružili soubory. doc pomocí nástroje pro zpracování textu, jako je například Microsoft Word.For example, the FileName property can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc extension if you have associated .doc files with a word processing tool, such as Microsoft Word.

Na příkazovém řádku můžete zadat akce, které se mají provést pro určité typy souborů.In the command line, you can specify actions to take for certain types of files. Můžete například tisknout dokumenty nebo upravovat textové soubory.For example, you can print documents or edit text files. Zadejte tyto akce pomocí Verb členu StartInfo Vlastnosti.Specify these actions using the Verb member of the StartInfo property. Pro jiné typy souborů můžete zadat argumenty příkazového řádku při spuštění souboru z Run dialogového okna.For other types of files, you can specify command-line arguments when you start the file from the Run dialog box. Například můžete předat adresu URL jako argument, pokud zadáte prohlížeč jako FileName .For example, you can pass a URL as an argument if you specify your browser as the FileName. Tyto argumenty lze zadat v StartInfo Arguments členu vlastnosti.These arguments can be specified in the StartInfo property's Arguments member.

Pokud máte proměnnou cesty deklarovanou v systému pomocí uvozovek, musíte tuto cestu při spuštění libovolného procesu nalezeného v tomto umístění plně kvalifikovat.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. V opačném případě systém nenalezne cestu.Otherwise, the system will not find the path. Například pokud c:\mypath není ve vaší cestě a přidáte jej pomocí uvozovek: path = %path%;"c:\mypath" , je nutné plně kvalifikovat všechny procesy c:\mypath při spuštění.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Poznámka

ASP.NET webová stránka a kód ovládacího prvku serveru se spustí v kontextu pracovního procesu ASP.NET na webovém serveru.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Pokud použijete Start metodu na webové stránce nebo ovládacím prvku serveru ASP.NET, nový proces se spustí na webovém serveru s omezenými oprávněními.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. Proces se nespustí ve stejném kontextu jako prohlížeč klienta a nemá přístup k ploše uživatele.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Poznámka o stavech Apartment ve spravovaných vláknech je potřeba tady.A note about apartment states in managed threads is necessary here. Pokud UseShellExecute je true vlastnost na komponentě procesu StartInfo , ujistěte se, že jste v aplikaci nastavili model dělení na vlákna nastavením atributu [STAThread] main() metody.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. V opačném případě může být spravované vlákno ve unknown stavu nebo umístěno ve MTA stavu, v němž jsou v konfliktu UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Některé metody vyžadují, aby stav objektu Apartment nebyl unknown .Some methods require that the apartment state not be unknown. Pokud stav není explicitně nastaven, když aplikace nalezne takovou metodu, nastaví ji na výchozí hodnotu MTA a jakmile je nastavena, nelze změnit stav objektu apartment.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Nicméně MTA způsobí, že výjimka bude vyvolána, když prostředí operačního systému spravuje vlákno.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Viz také

Platí pro

Start(String)

Spustí prostředek procesu zadáním názvu dokumentu nebo souboru aplikace a přidruží prostředek k nové Process součásti.Starts a process resource by specifying the name of a document or application file and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName);
public static System.Diagnostics.Process Start (string fileName);
static member Start : string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String) As Process

Parametry

fileName
String

Název souboru dokumentu nebo aplikace, který má být spuštěn v procesu.The name of a document or application file to run in the process.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started. Všimněte si, že nový proces, který je spuštěn souběžně a již spuštěným instancí stejného procesu, bude nezávisle na ostatních.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Kromě toho může začít vracet nenulový proces s jeho HasExited vlastností již nastavenou na true .In addition, Start may return a non-null Process with its HasExited property already set to true. V tomto případě je možné, že spuštěný proces mohl aktivovat existující instanci sebe sama a pak ji ukončit.In this case, the started process may have activated an existing instance of itself and then exited.

Výjimky

Při otevírání přidruženého souboru došlo k chybě.An error occurred when opening the associated file.

-nebo--or-

Soubor zadaný v souboru nebyl fileName nalezen.The file specified in the fileName could not be found.

Objekt procesu již byl uvolněn.The process object has already been disposed.

Proměnná prostředí PATH má řetězec obsahující uvozovky.The PATH environment variable has a string containing quotes.

Příklady

Následující příklad nejprve vytvoří instanci aplikace Internet Explorer a zobrazí obsah složky Oblíbené v prohlížeči.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Potom spustí některé jiné instance aplikace Internet Explorer a zobrazí některé konkrétní stránky nebo weby.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Nakonec spustí Internet Explorer s oknem, které je minimalizováno při přechodu na konkrétní web.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

#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

Poznámky

Pomocí tohoto přetížení můžete spustit prostředek procesu zadáním jeho názvu souboru.Use this overload to start a process resource by specifying its file name. Přetížení přidruží prostředek k novému Process objektu.The overload associates the resource with a new Process object.

Poznámka

Pokud adresa spustitelného souboru, který má být spuštěn, je adresa URL, proces není spuštěn a null je vrácen.If the address of the executable file to start is a URL, the process is not started and null is returned.

Toto přetížení umožňuje spustit proces bez prvotního vytvoření nové Process instance.This overload lets you start a process without first creating a new Process instance. Přetížení je alternativou k explicitním krokům při vytváření nové Process instance, nastavení FileName člena StartInfo vlastnosti a volání Start Process instance.The overload is an alternative to the explicit steps of creating a new Process instance, setting the FileName member of the StartInfo property, and calling Start for the Process instance.

Aplikaci ClickOnce můžete spustit nastavením fileName parametru na umístění (například webová adresa), ze které jste původně nainstalovali aplikaci.You can start a ClickOnce application by setting the fileName parameter to the location (for example, a Web address) from which you originally installed the application. Nespouštějte aplikaci ClickOnce zadáním umístění nainstalovaného na pevném disku.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Spuštění procesu zadáním jeho názvu souboru se podobá zadání informací do Run dialogového okna v nabídce systému Windows Start .Starting a process by specifying its file name is similar to typing the information in the Run dialog box of the Windows Start menu. Proto název souboru nemusí představovat spustitelný soubor.Therefore, the file name does not need to represent an executable file. Může to být jakýkoli typ souboru, pro který bylo rozšíření přidruženo k aplikaci nainstalované v systému.It can be of any file type for which the extension has been associated with an application installed on the system. Název souboru může mít například příponu. txt, pokud máte přidružené textové soubory s editorem, jako je například Poznámkový blok, nebo může mít soubor. doc, pokud jste přidružili soubory. doc pomocí nástroje pro zpracování textu, jako je například Microsoft Word.For example the file name can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc if you have associated .doc files with a word processing tool, such as Microsoft Word. Podobně ve stejném způsobu, jakým Run může dialogové okno přijmout název spustitelného souboru s příponou. exe nebo bez něj, je přípona. exe v parametru volitelná fileName .Similarly, in the same way that the Run dialog box can accept an executable file name with or without the .exe extension, the .exe extension is optional in the fileName parameter. Můžete například nastavit fileName parametr na "Notepad.exe" nebo "Notepad".For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad".

Toto přetížení nepovoluje argumenty příkazového řádku pro daný proces.This overload does not allow command-line arguments for the process. Pokud potřebujete zadat jeden nebo více argumentů příkazového řádku pro daný proces, použijte Process.Start(ProcessStartInfo) Process.Start(String, String) přetížení nebo.If you need to specify one or more command-line arguments for the process, use the Process.Start(ProcessStartInfo) or Process.Start(String, String) overloads.

Na rozdíl od ostatních přetížení není přetížení Start , které nemá žádné parametry, static členem.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Toto přetížení použijte, pokud už máte vytvořenou Process instanci a zadali jste počáteční informace (včetně názvu souboru) a chcete spustit prostředek procesu a přidružit ho k existující Process instanci.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Použijte jedno z static přetížení, pokud chcete vytvořit novou Process komponentu místo spuštění procesu pro existující komponentu.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Toto přetížení i přetížení, které nemá žádné parametry, umožňují zadat název souboru prostředku procesu, který se má spustit.Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start.

Pokud máte proměnnou cesty deklarovanou v systému pomocí uvozovek, musíte tuto cestu při spuštění libovolného procesu nalezeného v tomto umístění plně kvalifikovat.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. V opačném případě systém nenalezne cestu.Otherwise, the system will not find the path. Například pokud c:\mypath není ve vaší cestě a přidáte jej pomocí uvozovek: path = %path%;"c:\mypath" , je nutné plně kvalifikovat všechny procesy c:\mypath při spuštění.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Poznámka

ASP.NET webová stránka a kód ovládacího prvku serveru se spustí v kontextu pracovního procesu ASP.NET na webovém serveru.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Pokud použijete Start metodu na webové stránce nebo ovládacím prvku serveru ASP.NET, nový proces se spustí na webovém serveru s omezenými oprávněními.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. Proces se nespustí ve stejném kontextu jako prohlížeč klienta a nemá přístup k ploše uživatele.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Poznámka o stavech Apartment ve spravovaných vláknech je potřeba tady.A note about apartment states in managed threads is necessary here. Pokud UseShellExecute je true vlastnost na komponentě procesu StartInfo , ujistěte se, že jste v aplikaci nastavili model dělení na vlákna nastavením atributu [STAThread] main() metody.When UseShellExecute is true on the process component's StartInfo property, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. V opačném případě může být spravované vlákno ve unknown stavu nebo umístěno ve MTA stavu, v němž jsou v konfliktu UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Některé metody vyžadují, aby stav objektu Apartment nebyl unknown .Some methods require that the apartment state not be unknown. Pokud stav není explicitně nastaven, když aplikace nalezne takovou metodu, nastaví ji na výchozí hodnotu MTA a jakmile je nastavena, nelze změnit stav objektu apartment.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Nicméně MTA způsobí, že výjimka bude vyvolána, když prostředí operačního systému spravuje vlákno.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Viz také

Platí pro

Start(ProcessStartInfo)

Spustí prostředek procesu určený parametrem obsahujícím informace o spuštění procesu (například název souboru procesu, který má být spuštěn) a přidruží prostředek k nové Process součásti.Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new Process component.

public:
 static System::Diagnostics::Process ^ Start(System::Diagnostics::ProcessStartInfo ^ startInfo);
public static System.Diagnostics.Process? Start (System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process Start (System.Diagnostics.ProcessStartInfo startInfo);
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
Public Shared Function Start (startInfo As ProcessStartInfo) As Process

Parametry

startInfo
ProcessStartInfo

Obsahující ProcessStartInfo informace, které se používají ke spuštění procesu, včetně názvu souboru a argumentů příkazového řádku.The ProcessStartInfo that contains the information that is used to start the process, including the file name and any command-line arguments.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started. Všimněte si, že nový proces, který je spuštěn souběžně a již spuštěným instancí stejného procesu, bude nezávisle na ostatních.Note that a new process that's started alongside already running instances of the same process will be independent from the others. Kromě toho může začít vracet nenulový proces s jeho HasExited vlastností již nastavenou na true .In addition, Start may return a non-null Process with its HasExited property already set to true. V tomto případě je možné, že spuštěný proces mohl aktivovat existující instanci sebe sama a pak ji ukončit.In this case, the started process may have activated an existing instance of itself and then exited.

Výjimky

Ve vlastnosti parametru nebyl zadán žádný název souboru startInfo FileName .No file name was specified in the startInfo parameter's FileName property.

-nebo--or- UseShellExecuteVlastnost startInfo parametru je true a RedirectStandardInput RedirectStandardOutput vlastnost, nebo RedirectStandardError je také true .The UseShellExecute property of the startInfo parameter is true and the RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError property is also true.

-nebo--or- Vlastnost UseShellExecute startInfo parametru je true a vlastnost není nebo je UserName null prázdná nebo vlastnost není zadána Password null .The UseShellExecute property of the startInfo parameter is true and the UserName property is not null or empty or the Password property is not null.

startInfoParametr je null .The startInfo parameter is null.

Objekt procesu již byl uvolněn.The process object has already been disposed.

Při otevírání přidruženého souboru došlo k chybě.An error occurred when opening the associated file.

-nebo--or- Soubor zadaný ve startInfo Vlastnosti parametru se FileName nepovedlo najít.The file specified in the startInfo parameter's FileName property could not be found.

-nebo--or- Součet délky argumentů a délky úplné cesty k procesu překračuje 2080.The sum of the length of the arguments and the length of the full path to the process exceeds 2080. Chybová zpráva přidružená k této výjimce může být jedna z následujících: "oblast dat předaná do systémového volání je příliš malá."The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." nebo "přístup byl odepřen".or "Access is denied."

Metoda není podporována v operačních systémech bez podpory prostředí, jako je nano Server (pouze .NET Core).Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

Příklady

Následující příklad nejprve vytvoří instanci aplikace Internet Explorer a zobrazí obsah složky Oblíbené v prohlížeči.The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. Potom spustí některé jiné instance aplikace Internet Explorer a zobrazí některé konkrétní stránky nebo weby.It then starts some other instances of Internet Explorer and displays some specific pages or sites. Nakonec spustí Internet Explorer s oknem, které je minimalizováno při přechodu na konkrétní web.Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

Další příklady jiných použití této metody naleznete v jednotlivých vlastnostech ProcessStartInfo třídy.For additional examples of other uses of this method, refer to the individual properties of the ProcessStartInfo class.

#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

Poznámky

Pomocí tohoto přetížení můžete spustit prostředek procesu zadáním ProcessStartInfo instance.Use this overload to start a process resource by specifying a ProcessStartInfo instance. Přetížení přidruží prostředek k novému Process objektu.The overload associates the resource with a new Process object.

Poznámka

Pokud adresa spustitelného souboru, který má být spuštěn, je adresa URL, proces není spuštěn a null je vrácen.If the address of the executable file to start is a URL, the process is not started and null is returned.

Toto přetížení umožňuje spustit proces bez prvotního vytvoření nové Process instance.This overload lets you start a process without first creating a new Process instance. Použití tohoto přetížení s ProcessStartInfo parametrem je alternativou k explicitním krokům při vytváření nové Process instance, nastavení jejích StartInfo vlastností a volání Start Process instance.Using this overload with a ProcessStartInfo parameter is an alternative to the explicit steps of creating a new Process instance, setting its StartInfo properties, and calling Start for the Process instance.

Použití ProcessStartInfo instance jako parametru umožňuje volat Start s největší kontrolou nad tím, co je předáno do volání pro zahájení procesu.Using a ProcessStartInfo instance as the parameter lets you call Start with the most control over what is passed into the call to start the process. Pokud potřebujete předat jenom název souboru nebo název souboru a argumenty, není nutné vytvářet novou ProcessStartInfo instanci, i když je to možnost.If you need to pass only a file name or a file name and arguments, it is not necessary to create a new ProcessStartInfo instance, although that is an option. Jedinou Process.StartInfo vlastností, která musí být nastavena, je FileName vlastnost.The only Process.StartInfo property that must be set is the FileName property. FileNameVlastnost nemusí představovat spustitelný soubor.The FileName property does not need to represent an executable file. Může to být jakýkoli typ souboru, pro který bylo rozšíření přidruženo k aplikaci, která je v systému nainstalovaná.It can be of any file type for which the extension has been associated with an application that is installed on the system. FileNameVlastnost může mít například příponu. txt, pokud máte přidružené textové soubory s editorem, jako je například Poznámkový blok, nebo může mít příponu. doc, pokud jste přidružili soubory. doc pomocí nástroje pro zpracování textu, jako je například Microsoft Word.For example, the FileName property can have a .txt extension if you have associated text files with an editor, such as Notepad, or it can have a .doc extension if you have associated .doc files with a word processing tool, such as Microsoft Word.

Aplikaci ClickOnce můžete spustit zadáním umístění (například webové adresy), ze kterého jste původně nainstalovali aplikaci.You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. Nespouštějte aplikaci ClickOnce zadáním umístění nainstalovaného na pevném disku.Do not start a ClickOnce application by specifying its installed location on your hard drive.

Pokud ProcessStartInfo.UserName ProcessStartInfo.Password jsou vlastnosti a StartInfo instance nastaveny, CreateProcessWithLogonW je volána nespravovanou funkci, která spustí proces v novém okně i v případě, že je ProcessStartInfo.CreateNoWindow hodnota vlastnosti true nebo ProcessStartInfo.WindowStyle hodnota vlastnosti ProcessWindowStyle.Hidden .If the ProcessStartInfo.UserName and ProcessStartInfo.Password properties of the StartInfo instance are set, the unmanaged CreateProcessWithLogonW function is called, which starts the process in a new window even if the ProcessStartInfo.CreateNoWindow property value is true or the ProcessStartInfo.WindowStyle property value is ProcessWindowStyle.Hidden. Pokud ProcessStartInfo.Domain je vlastnost null , ProcessStartInfo.UserName musí být vlastnost ve formátu UPN, User @ DNS_domain_name.If the ProcessStartInfo.Domain property is null, the ProcessStartInfo.UserName property must be in UPN format, user@DNS_domain_name.

Na rozdíl od ostatních přetížení není přetížení Start , které nemá žádné parametry, static členem.Unlike the other overloads, the overload of Start that has no parameters is not a static member. Toto přetížení použijte, pokud už máte vytvořenou Process instanci a zadali jste počáteční informace (včetně názvu souboru) a chcete spustit prostředek procesu a přidružit ho k existující Process instanci.Use that overload when you have already created a Process instance and specified start information (including the file name), and you want to start a process resource and associate it with the existing Process instance. Použijte jedno z static přetížení, pokud chcete vytvořit novou Process komponentu místo spuštění procesu pro existující komponentu.Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. Toto přetížení i přetížení, které nemá žádné parametry, umožňují zadat počáteční informace pro prostředek procesu pomocí ProcessStartInfo instance.Both this overload and the overload that has no parameters allow you to specify the start information for the process resource by using a ProcessStartInfo instance.

Pokud máte proměnnou cesty deklarovanou v systému pomocí uvozovek, musíte tuto cestu při spuštění libovolného procesu nalezeného v tomto umístění plně kvalifikovat.If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. V opačném případě systém nenalezne cestu.Otherwise, the system will not find the path. Například pokud c:\mypath není ve vaší cestě a přidáte jej pomocí uvozovek: path = %path%;"c:\mypath" , je nutné plně kvalifikovat všechny procesy c:\mypath při spuštění.For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

Poznámka

ASP.NET webová stránka a kód ovládacího prvku serveru se spustí v kontextu pracovního procesu ASP.NET na webovém serveru.ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. Pokud použijete Start metodu na webové stránce nebo ovládacím prvku serveru ASP.NET, nový proces se spustí na webovém serveru s omezenými oprávněními.If you use the Start method in an ASP.NET Web page or server control, the new process executes on the Web server with restricted permissions. Proces se nespustí ve stejném kontextu jako prohlížeč klienta a nemá přístup k ploše uživatele.The process does not start in the same context as the client browser, and does not have access to the user desktop.

Kdykoli použijete Start ke spuštění procesu, možná ho budete muset zavřít nebo riskujete ztrátu systémových prostředků.Whenever you use Start to start a process, you might need to close it or you risk losing system resources. Ukončete procesy pomocí CloseMainWindow nebo Kill .Close processes using CloseMainWindow or Kill. Můžete ověřit, zda byl proces již uzavřen pomocí jeho HasExited Vlastnosti.You can check whether a process has already been closed by using its HasExited property.

Poznámka o stavech Apartment ve spravovaných vláknech je potřeba tady.A note about apartment states in managed threads is necessary here. Když UseShellExecute je true parametr v startInfo parametru, ujistěte se, že jste v aplikaci nastavili model dělení na vlákna nastavením atributu [STAThread] pro main() metodu.When UseShellExecute is true on the startInfo parameter, make sure you have set a threading model on your application by setting the attribute [STAThread] on the main() method. V opačném případě může být spravované vlákno ve unknown stavu nebo umístěno ve MTA stavu, v němž jsou v konfliktu UseShellExecute true .Otherwise, a managed thread can be in an unknown state or put in the MTA state, the latter of which conflicts with UseShellExecute being true. Některé metody vyžadují, aby stav objektu Apartment nebyl unknown .Some methods require that the apartment state not be unknown. Pokud stav není explicitně nastaven, když aplikace nalezne takovou metodu, nastaví ji na výchozí hodnotu MTA a jakmile je nastavena, nelze změnit stav objektu apartment.If the state is not explicitly set, when the application encounters such a method, it defaults to MTA, and once set, the apartment state cannot be changed. Nicméně MTA způsobí, že výjimka bude vyvolána, když prostředí operačního systému spravuje vlákno.However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

Viz také

Platí pro

Start(String, IEnumerable<String>)

Spustí prostředek procesu zadáním názvu aplikace a sady argumentů příkazového řádku.Starts a process resource by specifying the name of an application and a set of command line arguments.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::Collections::Generic::IEnumerable<System::String ^> ^ arguments);
public static System.Diagnostics.Process Start (string fileName, System.Collections.Generic.IEnumerable<string> arguments);
static member Start : string * seq<string> -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As IEnumerable(Of String)) As Process

Parametry

fileName
String

Název souboru dokumentu nebo aplikace, který má být spuštěn v procesu.The name of a document or application file to run in the process.

arguments
IEnumerable<String>

Argumenty příkazového řádku, které se mají předat při spuštění procesu.The command-line arguments to pass when starting the process.

Návraty

Process

Nový Process , který je spojen s prostředkem procesu, nebo null Pokud není spuštěn žádný prostředek procesu.A new Process that is associated with the process resource, or null if no process resource is started.

Poznámky

V případě potřeby bude každý argument automaticky uvozený řídicím znakem.Each argument will be escaped automatically if required.

Platí pro