共用方式為


Process 類別

定義

提供本機和遠端進程的存取權,並可讓您啟動和停止本機系統進程。

public ref class Process : System::ComponentModel::Component, IDisposable
public ref class Process : IDisposable
public ref class Process : System::ComponentModel::Component
public class Process : System.ComponentModel.Component, IDisposable
public class Process : IDisposable
public class Process : System.ComponentModel.Component
type Process = class
    inherit Component
    interface IDisposable
type Process = class
    interface IDisposable
type Process = class
    inherit Component
Public Class Process
Inherits Component
Implements IDisposable
Public Class Process
Implements IDisposable
Public Class Process
Inherits Component
繼承
繼承
Process
實作

範例

下列範例會使用 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 it 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 it 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);
            }
        }
    }
}
open System.Diagnostics

try
    use 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() |> ignore
// This code assumes the process you are starting will terminate itself.
// Given that it 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.
with e ->
    printfn $"{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 it 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 類別本身和靜態 Start 方法來啟動進程。

#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();
        }
    }
}
module processstartstatic

open System
open System.Diagnostics

// Opens the Internet Explorer application.
let openApplication (myFavoritesPath: string) =
    // Start Internet Explorer. Defaults to the home page.
    Process.Start "IExplore.exe" |> ignore

    // Display the contents of the favorites folder in the browser.
    Process.Start myFavoritesPath |> ignore

// Opens urls and .html documents using Internet Explorer.
let openWithArguments () =
    // url's are not considered documents. They can only be opened
    // by passing them as arguments.
    Process.Start("IExplore.exe", "www.northwindtraders.com") |> ignore

    // Start a Web page using a browser associated with .html and .asp files.
    Process.Start("IExplore.exe", @"C:\myPath\myFile.htm") |> ignore
    Process.Start("IExplore.exe", @"C:\myPath\myFile.asp") |> ignore

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
let openWithStartInfo () =
    let startInfo = ProcessStartInfo "IExplore.exe"
    startInfo.WindowStyle <- ProcessWindowStyle.Minimized

    Process.Start startInfo |> ignore

    startInfo.Arguments <- "www.northwindtraders.com"

    Process.Start startInfo |> ignore

// Get the path that stores favorite links.
let myFavoritesPath = Environment.GetFolderPath Environment.SpecialFolder.Favorites

openApplication myFavoritesPath
openWithArguments ()
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

下列 F# 範例會定義啟動進程、擷取所有輸出和錯誤資訊的 runProc 函式,並記錄進程已執行的毫秒數。 runProc 函式有三個參數:要啟動的應用程式名稱、要提供給應用程式的自變數,以及起始目錄。

open System
open System.Diagnostics

let runProc filename args startDir : seq<string> * seq<string> = 
    let timer = Stopwatch.StartNew()
    let procStartInfo = 
        ProcessStartInfo(
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            FileName = filename,
            Arguments = args
        )
    match startDir with | Some d -> procStartInfo.WorkingDirectory <- d | _ -> ()

    let outputs = System.Collections.Generic.List<string>()
    let errors = System.Collections.Generic.List<string>()
    let outputHandler f (_sender:obj) (args:DataReceivedEventArgs) = f args.Data
    use p = new Process(StartInfo = procStartInfo)
    p.OutputDataReceived.AddHandler(DataReceivedEventHandler (outputHandler outputs.Add))
    p.ErrorDataReceived.AddHandler(DataReceivedEventHandler (outputHandler errors.Add))
    let started = 
        try
            p.Start()
        with | ex ->
            ex.Data.Add("filename", filename)
            reraise()
    if not started then
        failwithf "Failed to start process %s" filename
    printfn "Started %s with pid %i" p.ProcessName p.Id
    p.BeginOutputReadLine()
    p.BeginErrorReadLine()
    p.WaitForExit()
    timer.Stop()
    printfn "Finished %s after %A milliseconds" filename timer.ElapsedMilliseconds
    let cleanOut l = l |> Seq.filter (fun o -> String.IsNullOrEmpty o |> not)
    cleanOut outputs,cleanOut errors

runProc 函式的程式代碼是由 ImaginaryDevelopment 所撰寫,且可在 Microsoft Public License下取得。

備註

Process 元件可讓您存取計算機上執行的進程。 最簡單的程式是執行中的應用程式。 線程是操作系統配置處理器時間的基本單位。 線程可以執行進程程式代碼的任何部分,包括目前正在由另一個線程執行的元件。

Process 元件是啟動、停止、控制及監視應用程式的實用工具。 您可以使用 Process 元件來取得正在執行的進程清單,也可以啟動新的進程。 Process 元件可用來存取系統進程。 初始化 Process 元件之後,它可以用來取得執行中進程的相關信息。 這類資訊包括一組線程、載入的模組(.dll 和 .exe 檔案),以及效能資訊,例如進程正在使用的記憶體數量。

此類型會實作 IDisposable 介面。 當您完成使用類型時,應該直接或間接處置它。 若要直接處置類型,請在 try/finally 區塊中呼叫其 Dispose 方法。 若要間接處置它,請使用語言建構,例如 using (C#) 或 Using (在 Visual Basic 中)。 如需詳細資訊,請參閱 介面檔中的<使用實作 IDisposable 的物件>一節。

重要

從具有不受信任數據之類別呼叫方法是安全性風險。 僅使用信任的數據,從這個類別呼叫 方法。 如需詳細資訊,請參閱 驗證所有輸入

注意

32 位進程無法存取 64 位進程的模組。 如果您嘗試從 32 位進程取得 64 位進程的相關信息,您將會收到 Win32Exception 例外狀況。 另一方面,64 位進程可以存取 32 位進程的模組。

進程元件會一次取得一組屬性的相關信息。 Process 元件取得任何群組一個成員的相關信息之後,它會快取該群組中其他屬性的值,直到您呼叫 Refresh 方法,才能取得群組其他成員的新資訊。 因此,屬性值不保證比最後一次呼叫 Refresh 方法還要新。 群組明細與操作系統相關。

如果您在系統中使用引號宣告路徑變數,則必須在該位置啟動任何找到的進程時,完整限定該路徑。 否則,系統將不會找到路徑。 例如,如果 c:\mypath 不在路徑中,而且您使用引號新增它:path = %path%;"c:\mypath",則必須在啟動 c:\mypath 時完整限定任何進程。

系統進程會依其進程標識碼在系統上唯一識別。 和許多 Windows 資源一樣,進程也會由其句柄識別,這在計算機上可能不是唯一的。 句柄是資源標識碼的泛型詞彙。 操作系統會保存進程句柄,此句柄是透過 Process 元件的 Handle 屬性存取,即使進程已結束也一樣。 因此,您可以取得進程的系統管理資訊,例如 ExitCode(通常是零成功或非零錯誤碼),以及 ExitTime。 句柄是極其有價值的資源,因此洩漏句柄比流失記憶體更致命。

注意

這個類別包含適用於所有成員之類別層級的連結需求和繼承需求。 當立即呼叫端或衍生類別沒有完全信任許可權時,就會擲回 SecurityException。 如需安全性需求的詳細資訊,請參閱 連結需求

.NET Core 附注

在 .NET Framework 中,Process 類別預設會針對輸入、輸出和錯誤數據流使用 Console 編碼,通常是代碼頁編碼。 例如,在文化特性為英文(美國)的系統上,代碼頁 437 是 Console 類別的預設編碼方式。 不過,.NET Core 只能提供這些編碼的有限子集。 如果是這種情況,它會使用 Encoding.UTF8 做為預設編碼。

如果 Process 物件相依於特定的代碼頁編碼,您仍然可以執行下列 ,再呼叫任何 Process 方法

  1. CodePagesEncodingProvider.Instance 屬性擷取 EncodingProvider 物件。

  2. EncodingProvider 對象傳遞至 Encoding.RegisterProvider 方法,讓編碼提供者支援的其他編碼方式可供使用。

接著,Process 類別會自動使用默認系統編碼,而不是UTF8,前提是您已註冊編碼提供者,再呼叫任何 Process 方法。

建構函式

Process()

初始化 Process 類別的新實例。

屬性

BasePriority

取得相關聯進程的基底優先順序。

CanRaiseEvents

取得值,指出元件是否可以引發事件。

(繼承來源 Component)
Container

取得包含 ComponentIContainer

(繼承來源 Component)
DesignMode

取得值,這個值表示 Component 目前是否處於設計模式。

(繼承來源 Component)
EnableRaisingEvents

取得或設定進程終止時,是否應該引發 Exited 事件。

Events

取得附加至這個 Component之事件處理程序的清單。

(繼承來源 Component)
ExitCode

取得關聯進程在終止時所指定的值。

ExitTime

取得相關聯進程結束的時間。

Handle

取得相關聯進程的原生句柄。

HandleCount

取得進程開啟的句柄數目。

HasExited

取得值,指出關聯的進程是否已終止。

Id

取得相關聯進程的唯一標識符。

MachineName

取得相關聯進程執行的計算機名稱。

MainModule

取得相關聯進程的主要模組。

MainWindowHandle

取得相關聯進程之主視窗的視窗句柄。

MainWindowTitle

取得進程主視窗的標題。

MaxWorkingSet

取得或設定相關聯進程的允許工作集大小上限,以位元組為單位。

MinWorkingSet

取得或設定相關聯進程的最小允許工作集大小,以位元組為單位。

Modules

取得已由相關聯進程載入的模組。

NonpagedSystemMemorySize
已淘汰.
已淘汰.
已淘汰.

取得為相關聯進程配置的未分頁系統記憶體數量,以位元組為單位。

NonpagedSystemMemorySize64

取得為相關聯進程配置的未分頁系統記憶體數量,以位元組為單位。

PagedMemorySize
已淘汰.
已淘汰.
已淘汰.

取得為相關聯進程配置的分頁記憶體數量,以位元組為單位。

PagedMemorySize64

取得為相關聯進程配置的分頁記憶體數量,以位元組為單位。

PagedSystemMemorySize
已淘汰.
已淘汰.
已淘汰.

取得為相關聯進程配置的可分頁系統記憶體數量,以位元組為單位。

PagedSystemMemorySize64

取得為相關聯進程配置的可分頁系統記憶體數量,以位元組為單位。

PeakPagedMemorySize
已淘汰.
已淘汰.
已淘汰.

取得相關聯進程所使用的虛擬記憶體分頁檔案中記憶體數量上限,以位元組為單位。

PeakPagedMemorySize64

取得相關聯進程所使用的虛擬記憶體分頁檔案中記憶體數量上限,以位元組為單位。

PeakVirtualMemorySize
已淘汰.
已淘汰.
已淘汰.

取得相關聯進程所使用的虛擬記憶體數量上限,以位元組為單位。

PeakVirtualMemorySize64

取得相關聯進程所使用的虛擬記憶體數量上限,以位元組為單位。

PeakWorkingSet
已淘汰.
已淘汰.
已淘汰.

取得相關聯進程的尖峰工作集大小,以位元組為單位。

PeakWorkingSet64

取得相關聯進程所使用的物理記憶體數量上限,以位元組為單位。

PriorityBoostEnabled

取得或設定值,指出當主視窗有焦點時,操作系統是否應該暫時提升相關聯的進程優先順序。

PriorityClass

取得或設定相關聯進程的整體優先順序分類。

PrivateMemorySize
已淘汰.
已淘汰.
已淘汰.

取得為相關聯進程配置的私用記憶體數量,以位元組為單位。

PrivateMemorySize64

取得為相關聯進程配置的私用記憶體數量,以位元組為單位。

PrivilegedProcessorTime

取得這個進程的特殊許可權處理器時間。

ProcessName

取得進程的名稱。

ProcessorAffinity

取得或設定此進程中線程可以排程執行所在的處理器。

Responding

取得值,指出進程的使用者介面是否回應。

SafeHandle

取得這個進程的原生句柄。

SessionId

取得相關聯進程的終端機服務會話標識碼。

Site

取得或設定 ComponentISite

(繼承來源 Component)
StandardError

取得用來讀取應用程式錯誤輸出的數據流。

StandardInput

取得用來寫入應用程式輸入的數據流。

StandardOutput

取得用來讀取應用程式文字輸出的數據流。

StartInfo

取得或設定要傳遞至 ProcessStart() 方法的屬性。

StartTime

取得相關聯進程啟動的時間。

SynchronizingObject

取得或設定 對象,這個物件用來封送處理進程結束事件所發出的事件處理程式呼叫。

Threads

取得在相關聯進程中執行的線程集。

TotalProcessorTime

取得這個進程的處理器時間總計。

UserProcessorTime

取得這個進程的使用者處理器時間。

VirtualMemorySize
已淘汰.
已淘汰.
已淘汰.

取得進程的虛擬記憶體大小,以位元組為單位。

VirtualMemorySize64

取得為相關聯進程配置的虛擬記憶體數量,以位元組為單位。

WorkingSet
已淘汰.
已淘汰.
已淘汰.

取得關聯的進程物理記憶體使用量,以位元組為單位。

WorkingSet64

取得為相關聯進程配置的實體記憶體數量,以位元組為單位。

方法

BeginErrorReadLine()

在應用程式的重新導向 StandardError 數據流上開始異步讀取作業。

BeginOutputReadLine()

在應用程式的重新導向 StandardOutput 數據流上開始異步讀取作業。

CancelErrorRead()

取消應用程式重新導向 StandardError 數據流上的異步讀取作業。

CancelOutputRead()

取消應用程式重新導向 StandardOutput 數據流上的異步讀取作業。

Close()

釋放與此元件相關聯的所有資源。

CloseMainWindow()

藉由將關閉訊息傳送至其主視窗,關閉具有使用者介面的程式。

CreateObjRef(Type)

建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。

(繼承來源 MarshalByRefObject)
Dispose()

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

Dispose()

釋放 Component所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放此程式所使用的所有資源。

EnterDebugMode()

Process 元件處於狀態,藉由在目前線程上啟用原生屬性 SeDebugPrivilege,與以特殊模式執行的操作系統進程互動。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetCurrentProcess()

取得新的 Process 元件,並將它與目前使用中的進程產生關聯。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個實例存留期原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetProcessById(Int32, String)

傳回新的 Process 元件,指定網路上計算機的進程標識碼和名稱。

GetProcessById(Int32)

傳回新的 Process 元件,指定本機計算機上的進程標識碼。

GetProcesses()

為本機電腦上的每個進程資源建立新的 Process 元件。

GetProcesses(String)

為指定電腦上的每個進程資源建立新的 Process 元件。

GetProcessesByName(String, String)

建立新的 Process 元件數位,並將其與共用指定進程名稱之遠端電腦上的所有進程資源產生關聯。

GetProcessesByName(String)

建立新 Process 元件的數位,並將其與共用指定進程名稱之本機計算機上的所有進程資源產生關聯。

GetService(Type)

傳回 物件,表示 Component 或其 Container所提供的服務。

(繼承來源 Component)
GetType()

取得目前實例的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個實例的存留期原則。

(繼承來源 MarshalByRefObject)
Kill()

立即停止相關聯的進程。

Kill(Boolean)

立即停止相關聯的進程,並選擇性地停止其子系/子代進程。

LeaveDebugMode()

Process 元件脫離狀態,讓它與以特殊模式執行的操作系統進程互動。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 對象的淺層複本。

(繼承來源 MarshalByRefObject)
OnExited()

引發 Exited 事件。

Refresh()

捨棄已於進程元件內快取之相關聯進程的任何資訊。

Start()

啟動(或重複使用)這個 Process 元件 StartInfo 屬性所指定的進程資源,並將它與元件產生關聯。

Start(ProcessStartInfo)

啟動由包含進程啟動資訊的參數所指定的進程資源(例如,要啟動的進程檔名),並將資源與新的 Process 元件產生關聯。

Start(String, IEnumerable<String>)

指定應用程式的名稱和一組命令行自變數,以啟動進程資源。

Start(String, String, SecureString, String)

藉由指定應用程式名稱、使用者名稱、密碼和網域,並將資源與新的 Process 元件產生關聯,以啟動進程資源。

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

藉由指定應用程式的名稱、一組命令行自變數、使用者名稱、密碼和網域,並將資源與新的 Process 元件產生關聯,以啟動進程資源。

Start(String, String)

藉由指定應用程式的名稱和一組命令行自變數,並將資源與新的 Process 元件產生關聯,以啟動進程資源。

Start(String)

指定檔案或應用程式檔的名稱,並將資源與新的 Process 元件產生關聯,以啟動進程資源。

ToString()

如果適用,請將進程的名稱格式化為字串,並結合父元件類型。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
WaitForExit()

指示 Process 元件無限期等候相關聯的進程結束。

WaitForExit(Int32)

指示 Process 元件等候相關聯進程結束的指定毫秒數。

WaitForExit(TimeSpan)

指示進程元件等候相關聯進程結束的指定時間量。

WaitForExitAsync(CancellationToken)

指示進程元件等候相關聯的進程結束,或取消 cancellationToken

WaitForInputIdle()

Process 元件無限期地等候相關聯的進程進入閑置狀態。 此多載只適用於具有使用者介面的進程,因此,訊息迴圈。

WaitForInputIdle(Int32)

Process 元件等候相關聯進程進入閑置狀態的指定毫秒數。 此多載只適用於具有使用者介面的進程,因此,訊息迴圈。

WaitForInputIdle(TimeSpan)

Process 元件等候指定的 timeout,讓相關聯的進程進入閑置狀態。 此多載只適用於具有使用者介面的進程,因此,訊息迴圈。

事件

Disposed

當呼叫 Dispose() 方法時,就會發生元件。

(繼承來源 Component)
ErrorDataReceived

當應用程式寫入其重新導向 StandardError 數據流時發生。

Exited

發生於進程結束時。

OutputDataReceived

每次應用程式將一行寫入至其重新導向 StandardOutput 數據流時發生。

適用於

另請參閱