Process.Start メソッド

定義

プロセス リソースを起動し、Process コンポーネントに関連付けます。Starts a process resource and associates it with a Process component.

オーバーロード

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

アプリケーションの名前、コマンド ライン引数のセット、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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)

アプリケーションの名前、ユーザー名、パスワード、ドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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)

アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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()

この Process コンポーネントの StartInfo プロパティで指定されたプロセス リソースを起動 (または再利用) し、コンポーネントに関連付けます。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)

文書またはアプリケーション ファイルの名前を指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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)

プロセス起動情報 (起動するプロセスのファイル名など) が格納されているパラメーターで指定されたプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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>)

アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動します。Starts a process resource by specifying the name of an application and a set of command line arguments.

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

重要

この API は CLS 準拠ではありません。

アプリケーションの名前、コマンド ライン引数のセット、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
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);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
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

パラメーター

fileName
String

プロセスで実行するアプリケーション ファイルの名前。The name of an application file to run in the process.

arguments
String

プロセスを起動するときに渡すコマンド ライン引数。Command-line arguments to pass when starting the process.

userName
String

プロセスの開始時に使用するユーザー名。The user name to use when starting the process.

password
SecureString

プロセスを開始するときに使用するパスワードを含む SecureStringA SecureString that contains the password to use when starting the process.

domain
String

プロセスの開始時に使用するドメイン。The domain to use when starting the process.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started. 同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。Note that a new process that's started alongside already running instances of the same process will be independent from the others. また、Start では、HasExited プロパティが既に true に設定されている null 以外の Process が返される場合があります。In addition, Start may return a non-null Process with its HasExited property already set to true. その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。In this case, the started process may have activated an existing instance of itself and then exited.

属性

例外

ファイル名が指定されませんでした。No file name was specified.

関連付けられているファイルを開いているときにエラーが発生しました。An error occurred when opening the associated file.

または-or-

fileName で指定したファイルが見つかりませんでした。The file specified in the fileName could not be found.

または-or- 引数の長さと関連ファイルへの完全パスの長さの合計が、2080 文字を超えています。The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. この例外に関連付けられているエラー メッセージは、次のいずれかになります。「システムの呼び出しに渡されるデータの領域が小さすぎます。」The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." または「アクセスが拒否されました。」or "Access is denied."

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

このメンバーは Linux または macOS (.NET Core のみ) ではサポートされていません。This member is not supported on Linux or macOS (.NET Core only).

注釈

このオーバーロードを使用して、ファイル名、コマンドライン引数、ユーザー名、パスワード、およびドメインを指定することにより、新しいプロセスとそのプライマリスレッドを作成します。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. 新しいプロセスは、指定された実行可能ファイルを、指定した資格情報 (ユーザー、ドメイン、およびパスワード) のセキュリティコンテキストで実行します。The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

注意

実行可能ファイルがリモートドライブにある場合は、リンクされたドライブ文字ではなく、uniform resource identifier (URI) を使用してネットワーク共有を識別する必要があります。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.

注意

開始する実行可能ファイルのアドレスが URL の場合、プロセスは開始されず、 null が返されます。If the address of the executable file to start is a URL, the process is not started and null is returned.

このオーバーロードを使用すると、最初に新しいインスタンスを作成せずにプロセスを開始でき Process ます。This overload lets you start a process without first creating a new Process instance. オーバーロードは、新しいインスタンスを作成するための明示的な手順の代わりに、 Process FileName プロパティの、、、、の各プロパティを設定 Arguments UserName し、 Password Domain StartInfo インスタンスのを呼び出す Start ため Process のものです。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.

同様に、[ファイル名を指定して 実行] ダイアログボックスが .exe 拡張子の有無にかかわらず、実行可能ファイル名を受け入れる場合と同じように、.exe 拡張子はパラメーターで省略可能です。 fileNameSimilarly, 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. たとえば、 fileName パラメーターを "Notepad.exe" または "Notepad" に設定できます。For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". パラメーターが fileName 実行可能ファイルを表す場合、 arguments パラメーターは、のテキストファイルなど、操作対象のファイルを表す場合があり 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.

注意

ファイル名は Start 、、、およびの各パラメーターを持つオーバーロード内の実行可能ファイルを表す必要があり userName password domain ます。The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

適用対象

Start(String, String, SecureString, String)

重要

この API は CLS 準拠ではありません。

アプリケーションの名前、ユーザー名、パスワード、ドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
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);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
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

パラメーター

fileName
String

プロセスで実行するアプリケーション ファイルの名前。The name of an application file to run in the process.

userName
String

プロセスの開始時に使用するユーザー名。The user name to use when starting the process.

password
SecureString

プロセスを開始するときに使用するパスワードを含む SecureStringA SecureString that contains the password to use when starting the process.

domain
String

プロセスの開始時に使用するドメイン。The domain to use when starting the process.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started. 同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。Note that a new process that's started alongside already running instances of the same process will be independent from the others. また、Start では、HasExited プロパティが既に true に設定されている null 以外の Process が返される場合があります。In addition, Start may return a non-null Process with its HasExited property already set to true. その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。In this case, the started process may have activated an existing instance of itself and then exited.

属性

例外

ファイル名が指定されませんでした。No file name was specified.

関連付けられているファイルを開いているときにエラーが発生しました。There was an error in opening the associated file.

または-or-

fileName で指定したファイルが見つかりませんでした。The file specified in the fileName could not be found.

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

このメンバーは Linux または macOS (.NET Core のみ) ではサポートされていません。This member is not supported on Linux or macOS (.NET Core only).

次のコード例では、このオーバーロードを使用して実行可能ファイルを起動し、実行不可能な Win32Exception ファイルに関連付けられているアプリケーションを起動しようとしたときに、をスローする方法を示します。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

注釈

このオーバーロードを使用して、ファイル名、ユーザー名、パスワード、およびドメインを指定することにより、新しいプロセスとそのプライマリスレッドを作成します。Use this overload to create a new process and its primary thread by specifying its file name, user name, password, and domain. 新しいプロセスは、指定された実行可能ファイルを、指定した資格情報 (ユーザー、ドメイン、およびパスワード) のセキュリティコンテキストで実行します。The new process then runs the specified executable file in the security context of the specified credentials (user, domain, and password).

注意

実行可能ファイルがリモートドライブにある場合は、リンクされたドライブ文字ではなく、uniform resource identifier (URI) を使用してネットワーク共有を識別する必要があります。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.

注意

開始する実行可能ファイルのアドレスが URL の場合、プロセスは開始されず、 null が返されます。If the address of the executable file to start is a URL, the process is not started and null is returned.

このオーバーロードを使用すると、最初に新しいインスタンスを作成せずにプロセスを開始でき Process ます。This overload lets you start a process without first creating a new Process instance. オーバーロードは、新しいインスタンスを作成するための明示的な手順の代わりに、 Process FileName プロパティの、、、の各プロパティを設定 UserName Password し、 Domain StartInfo インスタンスのを呼び出す Start ため Process のものです。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.

同様に、[ファイル名を指定して 実行] ダイアログボックスが .exe 拡張子の有無にかかわらず、実行可能ファイル名を受け入れる場合と同じように、.exe 拡張子はパラメーターで省略可能です。 fileNameSimilarly, 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. たとえば、 fileName パラメーターを "Notepad.exe" または "Notepad" に設定できます。For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". パラメーターが fileName 実行可能ファイルを表す場合、 arguments パラメーターは、のテキストファイルなど、操作対象のファイルを表す場合があり 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.

注意

ファイル名は Start 、、、およびの各パラメーターを持つオーバーロード内の実行可能ファイルを表す必要があり userName password domain ます。The file name must represent an executable file in the Start overloads that have userName, password, and domain parameters.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

適用対象

Start(String, String)

アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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

パラメーター

fileName
String

プロセスで実行するアプリケーション ファイルの名前。The name of an application file to run in the process.

arguments
String

プロセスを起動するときに渡すコマンド ライン引数。Command-line arguments to pass when starting the process.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started. 同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。Note that a new process that's started alongside already running instances of the same process will be independent from the others. また、Start では、HasExited プロパティが既に true に設定されている null 以外の Process が返される場合があります。In addition, Start may return a non-null Process with its HasExited property already set to true. その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。In this case, the started process may have activated an existing instance of itself and then exited.

例外

fileName パラメーターまたは arguments パラメーターが null です。The fileName or arguments parameter is null.

関連付けられているファイルを開いているときにエラーが発生しました。An error occurred when opening the associated file.

または-or-

fileName で指定したファイルが見つかりませんでした。The file specified in the fileName could not be found.

または-or- 引数の長さとプロセスへの完全パスの長さの合計が、2080 文字を超えています。The sum of the length of the arguments and the length of the full path to the process exceeds 2080. この例外に関連付けられているエラー メッセージは、次のいずれかになります。「システムの呼び出しに渡されるデータの領域が小さすぎます。」The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." または「アクセスが拒否されました。」or "Access is denied."

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

PATH 環境変数に、引用符を含む文字列があります。The PATH environment variable has a string containing quotes.

次の例では、まず Internet Explorer のインスタンスを生成し、ブラウザーにお気に入りフォルダーの内容を表示します。The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. その後、Internet Explorer の他のインスタンスを起動し、特定のページまたはサイトを表示します。It then starts some other instances of Internet Explorer and displays some specific pages or sites. 最後に、特定のサイトに移動しているときに最小化されたウィンドウで Internet Explorer を起動します。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

注釈

ファイル名とコマンドライン引数を指定してプロセスリソースを開始するには、このオーバーロードを使用します。Use this overload to start a process resource by specifying its file name and command-line arguments. オーバーロードによって、リソースが新しいオブジェクトに関連付けられ Process ます。The overload associates the resource with a new Process object.

注意

開始する実行可能ファイルのアドレスが URL の場合、プロセスは開始されず、 null が返されます。If the address of the executable file to start is a URL, the process is not started and null is returned.

このオーバーロードを使用すると、最初に新しいインスタンスを作成せずにプロセスを開始でき Process ます。This overload lets you start a process without first creating a new Process instance. オーバーロードは、新しいインスタンスを作成するための明示的な手順の代わりに、 Process FileName Arguments プロパティのとメンバーを設定し、 StartInfo インスタンスのを呼び出す Start ため Process のものです。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.

ファイル名と引数を指定してプロセスを開始することは、 Run Windows メニューのダイアログボックスでファイル名とコマンドライン引数を入力することと似てい Start ます。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. このため、ファイル名は実行可能ファイルを表す必要はありません。Therefore, the file name does not need to represent an executable file. これは、システムにインストールされているアプリケーションに拡張機能が関連付けられている任意のファイルの種類にすることができます。It can be of any file type for which the extension has been associated with an application installed on the system. たとえば、メモ帳などのテキストファイルがエディターに関連付けられている場合、ファイル名の拡張子は .txt にすることができます。また、Microsoft Word などのワードプロセッシングツールを使用して .doc ファイルに関連付けられている場合は、.doc を使用することもできます。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. 同様に、 Run ダイアログボックスが .exe 拡張子の有無にかかわらず実行可能ファイル名を受け入れるようにするのと同様に、パラメーターの .exe 拡張子は省略可能です fileNameSimilarly, 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. たとえば、 fileName パラメーターを "Notepad.exe" または "Notepad" に設定できます。For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad". パラメーターが fileName 実行可能ファイルを表す場合、 arguments パラメーターは、のテキストファイルなど、操作対象のファイルを表す場合があり 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. パラメーターが fileName コマンド (.cmd) ファイルを表す場合、パラメーターには、 arguments /c /k コマンドウィンドウを終了するか、完了後に残すかを指定する "" または "" 引数のいずれかを含める必要があります。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.

他のオーバーロードとは異なり、パラメーターを持たないのオーバーロードは Start メンバーではありません staticUnlike the other overloads, the overload of Start that has no parameters is not a static member. インスタンスを既に作成し、 Process 開始情報 (ファイル名を含む) を指定し、プロセスリソースを起動して既存のインスタンスに関連付ける場合は、そのオーバーロードを使用し Process ます。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. static Process 既存のコンポーネントのプロセスを開始するのではなく、新しいコンポーネントを作成する場合は、オーバーロードのいずれかを使用します。Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. このオーバーロードと、パラメーターを持たないオーバーロードの両方で、開始するプロセスリソースのファイル名と渡すコマンドライン引数を指定できます。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.

システムでパス変数を引用符で囲んで宣言している場合、その場所で見つかるプロセスを開始するときに、そのパスを完全修飾する必要があります。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. そうしないと、システムはそのパスを見つけられません。Otherwise, the system will not find the path. たとえば、c:\mypath がパスに含まれておらず、それを path = %path%;"c:\mypath"`` のように引用符を使用して追加した場合、c:\mypath` 内の任意のプロセスを開始するときに、それを完全修飾する必要があります。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.

注意

ASP.NET Web ページとサーバーコントロールのコードは、Web サーバー上の ASP.NET ワーカープロセスのコンテキストで実行されます。ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. StartASP.NET web ページまたはサーバーコントロールでメソッドを使用すると、新しいプロセスはアクセス許可が制限された web サーバー上で実行されます。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. このプロセスは、クライアントのブラウザーと同じコンテキストで開始されることはなく、ユーザーのデスクトップへのアクセス権も持っていません。The process does not start in the same context as the client browser, and does not have access to the user desktop.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

マネージスレッドのアパートメント状態に関する注意事項については、こちらを参照してください。A note about apartment states in managed threads is necessary here. UseShellExecutetrue プロセスコンポーネントのプロパティにある場合は StartInfo 、メソッドの属性を設定して、アプリケーションにスレッドモデルを設定していることを確認し [STAThread] main() ます。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. それ以外の場合、マネージスレッドは状態にするか、状態にすることができ unknown MTA ます。後者の場合は、との競合が発生し 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. 一部のメソッドでは、アパートメント状態をにする必要がありません unknownSome methods require that the apartment state not be unknown. 状態が明示的に設定されていない場合、アプリケーションでこのようなメソッドが検出されると、既定でに設定されます。これにより、 MTA アパートメント状態を変更することはできません。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. ただし、で MTA は、オペレーティングシステムシェルがスレッドを管理しているときに例外がスローされます。However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

こちらもご覧ください

適用対象

Start()

この Process コンポーネントの StartInfo プロパティで指定されたプロセス リソースを起動 (または再利用) し、コンポーネントに関連付けます。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

戻り値

Boolean

プロセス リソースが起動された場合は true。新しいプロセス リソースが起動されなかった場合は false (既存のプロセスを再利用した場合など)。true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused).

例外

Process コンポーネントの StartInfo にファイル名が指定されませんでした。No file name was specified in the Process component's StartInfo.

または-or-

UseShellExecute プロパティの StartInfo メンバーは true ですが、 RedirectStandardInputRedirectStandardOutput、または RedirectStandardErrortrueです。The UseShellExecute member of the StartInfo property is true while RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError is true.

関連付けられているファイルを開いているときにエラーが発生しました。There was an error in opening the associated file.

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

メソッドはシェルがサポートされていない Nano Server (.NET Core のみ) などのオペレーティング システムではサポートされていません。Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

次の例では、クラスのインスタンスを使用して Process プロセスを開始します。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

注釈

このオーバーロードを使用して、プロセスリソースを起動し、現在のコンポーネントに関連付け Process ます。Use this overload to start a process resource and associate it with the current Process component. 戻り値は、 true 新しいプロセスリソースが開始されたことを示します。The return value true indicates that a new process resource was started. プロパティのメンバーによって指定されたプロセスリソース FileName StartInfo が既にコンピューター上で実行されている場合、追加のプロセスリソースは起動されません。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. 代わりに、実行中のプロセスリソースが再利用され、 false が返されます。Instead, the running process resource is reused and false is returned.

ClickOnce アプリケーションを起動するには、最初にアプリケーションをインストールした場所 (Web アドレスなど) を指定します。You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. ClickOnce アプリケーションは、ハードドライブにインストールされている場所を指定することによって起動しないでください。Do not start a ClickOnce application by specifying its installed location on your hard drive.

注意

Visual Studio を使用している場合は、 Start コンポーネントをデザイナーにドラッグした後に、コードに挿入するメソッドのオーバーロードが使用され Process ます。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. ウィンドウを使用して、 Properties カテゴリを展開 StartInfo し、プロパティに適切な値を書き込み FileName ます。Use the Properties window to expand the StartInfo category and write the appropriate value into the FileName property. 変更内容がフォームの手順に表示され InitializeComponent ます。Your changes will appear in the form's InitializeComponent procedure.

のこのオーバーロード Start はメソッドではありません staticThis overload of Start is not a static method. これは、クラスのインスタンスから呼び出す必要があり Process ます。You must call it from an instance of the Process class. を呼び出す前に Start 、最初 StartInfo にこのインスタンスのプロパティ情報を指定する必要があり Process ます。これは、開始するプロセスリソースを決定するためにその情報が使用されるためです。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.

メソッドの他のオーバーロードは、 Start static メンバーです。The other overloads of the Start method are static members. Processメソッドのオーバーロードを呼び出す前に、コンポーネントのインスタンスを作成する必要はありません。You do not need to create an instance of the Process component before you call those overloads of the method. 代わりに、クラス自体に対してを呼び出すことができ、 Start Process プロセスが Process 開始された場合は新しいコンポーネントが作成されます。Instead, you can call Start for the Process class itself, and a new Process component is created if the process was started. または、 null プロセスが再利用された場合は、が返されます。Or, null is returned if a process was reused. プロセスリソースは、 Process メソッドによって返される新しいコンポーネントに自動的に関連付けられ Start ます。The process resource is automatically associated with the new Process component that is returned by the Start method.

メンバーを使用して、 StartInfo Run Windows メニューのダイアログボックスの機能を複製することができ Start ます。The StartInfo members can be used to duplicate the functionality of the Run dialog box of the Windows Start menu. コマンドラインに入力できるものは、プロパティに適切な値を設定することによって開始でき StartInfo ます。Anything that can be typed into a command line can be started by setting the appropriate values in the StartInfo property. 設定する StartInfo 必要があるプロパティは、プロパティだけです FileNameThe only StartInfo property that must be set is the FileName property. プロパティは、 FileName 実行可能ファイルである必要はありません。The FileName property does not have to be an executable file. 拡張子がシステムにインストールされているアプリケーションに関連付けられている任意のファイルの種類を指定できます。It can be of any file type for which the extension has been associated with an application that is installed on the system. たとえば、 FileName テキストファイルがメモ帳などのエディターに関連付けられている場合、プロパティには拡張子 .txt を付けることができます。また、Microsoft word などのワードプロセッシングツールで .doc ファイルに関連付けられている場合は、.doc 拡張子を持つことができます。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.

コマンドラインでは、特定の種類のファイルに対して実行するアクションを指定できます。In the command line, you can specify actions to take for certain types of files. たとえば、ドキュメントを印刷したり、テキストファイルを編集したりできます。For example, you can print documents or edit text files. プロパティのメンバーを使用して、これらのアクションを指定し Verb StartInfo ます。Specify these actions using the Verb member of the StartInfo property. その他の種類のファイルについては、ダイアログボックスからファイルを起動するときに、コマンドライン引数を指定でき Run ます。For other types of files, you can specify command-line arguments when you start the file from the Run dialog box. たとえば、ブラウザーをとして指定した場合、URL を引数として渡すことができ FileName ます。For example, you can pass a URL as an argument if you specify your browser as the FileName. これらの引数は、 StartInfo プロパティのメンバーで指定でき Arguments ます。These arguments can be specified in the StartInfo property's Arguments member.

システムでパス変数を引用符で囲んで宣言している場合、その場所で見つかるプロセスを開始するときに、そのパスを完全修飾する必要があります。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. そうしないと、システムはそのパスを見つけられません。Otherwise, the system will not find the path. たとえば、c:\mypath がパスに含まれておらず、それを path = %path%;"c:\mypath"`` のように引用符を使用して追加した場合、c:\mypath` 内の任意のプロセスを開始するときに、それを完全修飾する必要があります。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.

注意

ASP.NET Web ページとサーバーコントロールのコードは、Web サーバー上の ASP.NET ワーカープロセスのコンテキストで実行されます。ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. StartASP.NET web ページまたはサーバーコントロールでメソッドを使用すると、新しいプロセスはアクセス許可が制限された web サーバー上で実行されます。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. このプロセスは、クライアントのブラウザーと同じコンテキストで開始されることはなく、ユーザーのデスクトップへのアクセス権も持っていません。The process does not start in the same context as the client browser, and does not have access to the user desktop.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

マネージスレッドのアパートメント状態に関する注意事項については、こちらを参照してください。A note about apartment states in managed threads is necessary here. UseShellExecutetrue プロセスコンポーネントのプロパティにある場合は StartInfo 、メソッドの属性を設定して、アプリケーションにスレッドモデルを設定していることを確認し [STAThread] main() ます。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. それ以外の場合、マネージスレッドは状態にするか、状態にすることができ unknown MTA ます。後者の場合は、との競合が発生し 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. 一部のメソッドでは、アパートメント状態をにする必要がありません unknownSome methods require that the apartment state not be unknown. 状態が明示的に設定されていない場合、アプリケーションでこのようなメソッドが検出されると、既定でに設定されます。これにより、 MTA アパートメント状態を変更することはできません。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. ただし、で MTA は、オペレーティングシステムシェルがスレッドを管理しているときに例外がスローされます。However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

こちらもご覧ください

適用対象

Start(String)

文書またはアプリケーション ファイルの名前を指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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

パラメーター

fileName
String

プロセスで実行する文書またはアプリケーション ファイルの名前。The name of a document or application file to run in the process.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started. 同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。Note that a new process that's started alongside already running instances of the same process will be independent from the others. また、Start では、HasExited プロパティが既に true に設定されている null 以外の Process が返される場合があります。In addition, Start may return a non-null Process with its HasExited property already set to true. その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。In this case, the started process may have activated an existing instance of itself and then exited.

例外

関連付けられているファイルを開いているときにエラーが発生しました。An error occurred when opening the associated file.

または-or-

fileName で指定したファイルが見つかりませんでした。The file specified in the fileName could not be found.

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

PATH 環境変数に、引用符を含む文字列があります。The PATH environment variable has a string containing quotes.

次の例では、まず Internet Explorer のインスタンスを生成し、ブラウザーにお気に入りフォルダーの内容を表示します。The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. その後、Internet Explorer の他のインスタンスを起動し、特定のページまたはサイトを表示します。It then starts some other instances of Internet Explorer and displays some specific pages or sites. 最後に、特定のサイトに移動しているときに最小化されたウィンドウで Internet Explorer を起動します。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

注釈

このオーバーロードを使用して、ファイル名を指定してプロセスリソースを開始します。Use this overload to start a process resource by specifying its file name. オーバーロードによって、リソースが新しいオブジェクトに関連付けられ Process ます。The overload associates the resource with a new Process object.

注意

開始する実行可能ファイルのアドレスが URL の場合、プロセスは開始されず、 null が返されます。If the address of the executable file to start is a URL, the process is not started and null is returned.

このオーバーロードを使用すると、最初に新しいインスタンスを作成せずにプロセスを開始でき Process ます。This overload lets you start a process without first creating a new Process instance. オーバーロードは、新しいインスタンスを作成し、 Process プロパティのメンバーを設定して、 FileName StartInfo Start インスタンスのを呼び出すための明示的な手順の代わりに使用され Process ます。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.

ClickOnce アプリケーションを起動するには、 fileName 最初にアプリケーションをインストールした場所 (Web アドレスなど) にパラメーターを設定します。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. ClickOnce アプリケーションは、ハードドライブにインストールされている場所を指定することによって起動しないでください。Do not start a ClickOnce application by specifying its installed location on your hard drive.

ファイル名を指定してプロセスを開始することは、 Run 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. このため、ファイル名は実行可能ファイルを表す必要はありません。Therefore, the file name does not need to represent an executable file. これは、システムにインストールされているアプリケーションに拡張機能が関連付けられている任意のファイルの種類にすることができます。It can be of any file type for which the extension has been associated with an application installed on the system. たとえば、メモ帳などのテキストファイルがエディターに関連付けられている場合、ファイル名の拡張子は .txt にすることができます。また、Microsoft Word などのワードプロセッシングツールを使用して .doc ファイルに関連付けられている場合は、.doc を使用することもできます。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. 同様に、 Run ダイアログボックスが .exe 拡張子の有無にかかわらず実行可能ファイル名を受け入れるようにするのと同様に、パラメーターの .exe 拡張子は省略可能です fileNameSimilarly, 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. たとえば、 fileName パラメーターを "Notepad.exe" または "Notepad" に設定できます。For example, you can set the fileName parameter to either "Notepad.exe" or "Notepad".

このオーバーロードでは、プロセスのコマンドライン引数は許可されません。This overload does not allow command-line arguments for the process. プロセスに対して1つ以上のコマンドライン引数を指定する必要がある場合 Process.Start(ProcessStartInfo) は、またはのオーバーロードを使用 Process.Start(String, String) します。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.

他のオーバーロードとは異なり、パラメーターを持たないのオーバーロードは Start メンバーではありません staticUnlike the other overloads, the overload of Start that has no parameters is not a static member. インスタンスを既に作成し、 Process 開始情報 (ファイル名を含む) を指定し、プロセスリソースを起動して既存のインスタンスに関連付ける場合は、そのオーバーロードを使用し Process ます。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. static Process 既存のコンポーネントのプロセスを開始するのではなく、新しいコンポーネントを作成する場合は、オーバーロードのいずれかを使用します。Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. このオーバーロードと、パラメーターを持たないオーバーロードの両方で、開始するプロセスリソースのファイル名を指定できます。Both this overload and the overload that has no parameters allow you to specify the file name of the process resource to start.

システムでパス変数を引用符で囲んで宣言している場合、その場所で見つかるプロセスを開始するときに、そのパスを完全修飾する必要があります。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. そうしないと、システムはそのパスを見つけられません。Otherwise, the system will not find the path. たとえば、c:\mypath がパスに含まれておらず、それを path = %path%;"c:\mypath"`` のように引用符を使用して追加した場合、c:\mypath` 内の任意のプロセスを開始するときに、それを完全修飾する必要があります。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.

注意

ASP.NET Web ページとサーバーコントロールのコードは、Web サーバー上の ASP.NET ワーカープロセスのコンテキストで実行されます。ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. StartASP.NET web ページまたはサーバーコントロールでメソッドを使用すると、新しいプロセスはアクセス許可が制限された web サーバー上で実行されます。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. このプロセスは、クライアントのブラウザーと同じコンテキストで開始されることはなく、ユーザーのデスクトップへのアクセス権も持っていません。The process does not start in the same context as the client browser, and does not have access to the user desktop.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

マネージスレッドのアパートメント状態に関する注意事項については、こちらを参照してください。A note about apartment states in managed threads is necessary here. UseShellExecutetrue プロセスコンポーネントのプロパティにある場合は StartInfo 、メソッドの属性を設定して、アプリケーションにスレッドモデルを設定していることを確認し [STAThread] main() ます。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. それ以外の場合、マネージスレッドは状態にするか、状態にすることができ unknown MTA ます。後者の場合は、との競合が発生し 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. 一部のメソッドでは、アパートメント状態をにする必要がありません unknownSome methods require that the apartment state not be unknown. 状態が明示的に設定されていない場合、アプリケーションでこのようなメソッドが検出されると、既定でに設定されます。これにより、 MTA アパートメント状態を変更することはできません。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. ただし、で MTA は、オペレーティングシステムシェルがスレッドを管理しているときに例外がスローされます。However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

こちらもご覧ください

適用対象

Start(ProcessStartInfo)

プロセス起動情報 (起動するプロセスのファイル名など) が格納されているパラメーターで指定されたプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。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

パラメーター

startInfo
ProcessStartInfo

ファイル名やコマンド ライン引数など、プロセスの起動に使用する情報が格納されている ProcessStartInfoThe ProcessStartInfo that contains the information that is used to start the process, including the file name and any command-line arguments.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started. 同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。Note that a new process that's started alongside already running instances of the same process will be independent from the others. また、Start では、HasExited プロパティが既に true に設定されている null 以外の Process が返される場合があります。In addition, Start may return a non-null Process with its HasExited property already set to true. その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。In this case, the started process may have activated an existing instance of itself and then exited.

例外

startInfo パラメーターの FileName プロパティにファイル名が指定されませんでした。No file name was specified in the startInfo parameter's FileName property.

または-or- startInfo パラメーターの UseShellExecute プロパティは true であり、RedirectStandardInputRedirectStandardOutput、または RedirectStandardError プロパティも true です。The UseShellExecute property of the startInfo parameter is true and the RedirectStandardInput, RedirectStandardOutput, or RedirectStandardError property is also true.

または-or- startInfo パラメーターの UseShellExecute プロパティは true であり、UserName プロパティは null でも空でもないか、または 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.

startInfo パラメーターが null です。The startInfo parameter is null.

プロセス オブジェクトは既には破棄されています。The process object has already been disposed.

関連付けられているファイルを開いているときにエラーが発生しました。An error occurred when opening the associated file.

または-or- startInfo パラメーターの FileName プロパティに指定されたファイルを見つけることができませんでした。The file specified in the startInfo parameter's FileName property could not be found.

または-or- 引数の長さとプロセスへの完全パスの長さの合計が、2080 文字を超えています。The sum of the length of the arguments and the length of the full path to the process exceeds 2080. この例外に関連付けられているエラー メッセージは、次のいずれかになります。「システムの呼び出しに渡されるデータの領域が小さすぎます。」The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." または「アクセスが拒否されました。」or "Access is denied."

メソッドはシェルがサポートされていない Nano Server (.NET Core のみ) などのオペレーティング システムではサポートされていません。Method not supported on operating systems without shell support such as Nano Server (.NET Core only).

次の例では、まず Internet Explorer のインスタンスを生成し、ブラウザーにお気に入りフォルダーの内容を表示します。The following example first spawns an instance of Internet Explorer and displays the contents of the Favorites folder in the browser. その後、Internet Explorer の他のインスタンスを起動し、特定のページまたはサイトを表示します。It then starts some other instances of Internet Explorer and displays some specific pages or sites. 最後に、特定のサイトに移動しているときに最小化されたウィンドウで Internet Explorer を起動します。Finally it starts Internet Explorer with the window being minimized while navigating to a specific site.

このメソッドの他の使用例については、クラスの個々のプロパティを参照してください ProcessStartInfoFor 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

注釈

インスタンスを指定してプロセスリソースを開始するには、このオーバーロードを使用し ProcessStartInfo ます。Use this overload to start a process resource by specifying a ProcessStartInfo instance. オーバーロードによって、リソースが新しいオブジェクトに関連付けられ Process ます。The overload associates the resource with a new Process object.

注意

開始する実行可能ファイルのアドレスが URL の場合、プロセスは開始されず、 null が返されます。If the address of the executable file to start is a URL, the process is not started and null is returned.

このオーバーロードを使用すると、最初に新しいインスタンスを作成せずにプロセスを開始でき Process ます。This overload lets you start a process without first creating a new Process instance. このオーバーロードをパラメーターと共に使用すること ProcessStartInfo は、新しいインスタンスを作成し Process 、その StartInfo プロパティを設定して、 Start インスタンスのを呼び出すための明示的な手順の代替手段です ProcessUsing 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.

インスタンスをパラメーターとして使用すると、呼び出しに ProcessStartInfo Start 渡されたものに対して最も制御が必要になり、プロセスを開始できます。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. ファイル名またはファイル名と引数だけを渡す必要がある場合は、新しいインスタンスを作成する必要はありませんが、これ ProcessStartInfo はオプションです。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. 設定する Process.StartInfo 必要があるプロパティは、プロパティだけです FileNameThe only Process.StartInfo property that must be set is the FileName property. プロパティは、 FileName 実行可能ファイルを表す必要はありません。The FileName property does not need to represent an executable file. 拡張子がシステムにインストールされているアプリケーションに関連付けられている任意のファイルの種類を指定できます。It can be of any file type for which the extension has been associated with an application that is installed on the system. たとえば、 FileName テキストファイルがメモ帳などのエディターに関連付けられている場合、プロパティには拡張子 .txt を付けることができます。また、Microsoft word などのワードプロセッシングツールで .doc ファイルに関連付けられている場合は、.doc 拡張子を持つことができます。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.

ClickOnce アプリケーションを起動するには、最初にアプリケーションをインストールした場所 (Web アドレスなど) を指定します。You can start a ClickOnce application by specifying the location (for example, a Web address) from which you originally installed the application. ClickOnce アプリケーションは、ハードドライブにインストールされている場所を指定することによって起動しないでください。Do not start a ClickOnce application by specifying its installed location on your hard drive.

ProcessStartInfo.UserName ProcessStartInfo.Password インスタンスのプロパティとプロパティが設定されている場合、 StartInfo アンマネージ CreateProcessWithLogonW 関数が呼び出されます。これにより、 ProcessStartInfo.CreateNoWindow プロパティ値がの場合、 true または ProcessStartInfo.WindowStyle プロパティ値がの場合でも、新しいウィンドウでプロセスが開始され 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. ProcessStartInfo.Domainプロパティがの場合 nullProcessStartInfo.UserName プロパティは UPN 形式 (ユーザー DNS_domain_name) である必要があり @ ます。If the ProcessStartInfo.Domain property is null, the ProcessStartInfo.UserName property must be in UPN format, user@DNS_domain_name.

他のオーバーロードとは異なり、パラメーターを持たないのオーバーロードは Start メンバーではありません staticUnlike the other overloads, the overload of Start that has no parameters is not a static member. インスタンスを既に作成し、 Process 開始情報 (ファイル名を含む) を指定し、プロセスリソースを起動して既存のインスタンスに関連付ける場合は、そのオーバーロードを使用し Process ます。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. static Process 既存のコンポーネントのプロセスを開始するのではなく、新しいコンポーネントを作成する場合は、オーバーロードのいずれかを使用します。Use one of the static overloads when you want to create a new Process component rather than start a process for an existing component. このオーバーロードと、パラメーターを持たないオーバーロードの両方で、インスタンスを使用してプロセスリソースの開始情報を指定でき ProcessStartInfo ます。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.

システムでパス変数を引用符で囲んで宣言している場合、その場所で見つかるプロセスを開始するときに、そのパスを完全修飾する必要があります。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. そうしないと、システムはそのパスを見つけられません。Otherwise, the system will not find the path. たとえば、c:\mypath がパスに含まれておらず、それを path = %path%;"c:\mypath"`` のように引用符を使用して追加した場合、c:\mypath` 内の任意のプロセスを開始するときに、それを完全修飾する必要があります。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.

注意

ASP.NET Web ページとサーバーコントロールのコードは、Web サーバー上の ASP.NET ワーカープロセスのコンテキストで実行されます。ASP.NET Web page and server control code executes in the context of the ASP.NET worker process on the Web server. StartASP.NET web ページまたはサーバーコントロールでメソッドを使用すると、新しいプロセスはアクセス許可が制限された web サーバー上で実行されます。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. このプロセスは、クライアントのブラウザーと同じコンテキストで開始されることはなく、ユーザーのデスクトップへのアクセス権も持っていません。The process does not start in the same context as the client browser, and does not have access to the user desktop.

を使用し Start てプロセスを開始するときは常に、プロセスを閉じる必要があります。そうしないと、システムリソースが失われる危険性があります。Whenever you use Start to start a process, you might need to close it or you risk losing system resources. またはを使用してプロセスを終了し CloseMainWindow Kill ます。Close processes using CloseMainWindow or Kill. プロセスが既に閉じられているかどうかは、そのプロパティを使用して確認でき HasExited ます。You can check whether a process has already been closed by using its HasExited property.

マネージスレッドのアパートメント状態に関する注意事項については、こちらを参照してください。A note about apartment states in managed threads is necessary here. UseShellExecuteがパラメーターに設定されている場合は true startInfo 、メソッドの属性を設定することによって、アプリケーションにスレッドモデルが設定されていることを確認してください [STAThread] main()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. それ以外の場合、マネージスレッドは状態にするか、状態にすることができ unknown MTA ます。後者の場合は、との競合が発生し 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. 一部のメソッドでは、アパートメント状態をにする必要がありません unknownSome methods require that the apartment state not be unknown. 状態が明示的に設定されていない場合、アプリケーションでこのようなメソッドが検出されると、既定でに設定されます。これにより、 MTA アパートメント状態を変更することはできません。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. ただし、で MTA は、オペレーティングシステムシェルがスレッドを管理しているときに例外がスローされます。However, MTA causes an exception to be thrown when the operating system shell is managing the thread.

こちらもご覧ください

適用対象

Start(String, IEnumerable<String>)

アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動します。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

パラメーター

fileName
String

プロセスで実行する文書またはアプリケーション ファイルの名前。The name of a document or application file to run in the process.

arguments
IEnumerable<String>

プロセスを起動するときに渡すコマンド ライン引数。The command-line arguments to pass when starting the process.

戻り値

Process

プロセス リソースに関連付けられている新しい Process。プロセス リソースが起動されていない場合は nullA new Process that is associated with the process resource, or null if no process resource is started.

注釈

各引数は、必要に応じて自動的にエスケープされます。Each argument will be escaped automatically if required.

適用対象