Aracılığıyla paylaş


Process.Start Yöntem

Tanım

Bir işlem kaynağı başlatır ve bunu bir Process bileşenle ilişkilendirir.

Aşırı Yüklemeler

Name Description
Start(String, String, String, SecureString, String)

Bir uygulamanın adını, bir dizi komut satırı bağımsız değişkenini, kullanıcı adını, parolayı ve etki alanını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

Start(String, String, SecureString, String)

Bir uygulamanın adını, kullanıcı adını, parolayı ve etki alanını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

Start(String, String)

Bir uygulamanın adını ve bir dizi komut satırı bağımsız değişkenini belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

Start(String)

Belgenin veya uygulama dosyasının adını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

Start(ProcessStartInfo)

İşlem başlangıç bilgilerini (örneğin, başlatacak işlemin dosya adı) içeren parametresi tarafından belirtilen işlem kaynağını başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

Start()

Bu Process bileşenin özelliği tarafından StartInfo belirtilen işlem kaynağını başlatır (veya yeniden kullanabilir) ve bunu bileşenle ilişkilendirir.

Start(String, IEnumerable<String>)

Bir uygulamanın adını ve bir dizi komut satırı bağımsız değişkenini belirterek bir işlem kaynağı başlatır.

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

Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs

Önemli

Bu API, CLS uyumlu değildir.

Bir uygulamanın adını, bir dizi komut satırı bağımsız değişkenini, kullanıcı adını, parolayı ve etki alanını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

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
[<System.CLSCompliant(false)>]
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
Public Shared Function Start (fileName As String, arguments As String, userName As String, password As SecureString, domain As String) As Process

Parametreler

fileName
String

İşlemde çalıştırılacak bir uygulama dosyasının adı.

arguments
String

İşlemi başlatırken geçirilebilir komut satırı bağımsız değişkenleri.

userName
String

İşlemi başlatırken kullanılacak kullanıcı adı.

password
SecureString

SecureString İşlemi başlatırken kullanılacak parolayı içeren bir.

domain
String

İşlemi başlatırken kullanılacak etki alanı.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir. Aynı işlemin zaten çalışan örnekleriyle birlikte başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Başlangıç özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem mevcut bir örneğini etkinleştirmiş ve ardından çıkılmış olabilir.

Öznitelikler

Özel durumlar

Hiçbir dosya adı belirtilmedi.

İlişkili dosya açılırken bir hata oluştu.

-veya-

içinde fileName belirtilen dosya bulunamadı.

-veya-

Bağımsız değişkenlerin uzunluğu ve ilişkili dosyanın tam yolunun uzunluğu 2080'i aşıyor. Bu özel durumla ilişkili hata iletisi aşağıdakilerden biri olabilir: "Sistem çağrısına geçirilen veri alanı çok küçük." veya "Erişim reddedildi."

İşlem nesnesi zaten atılmış.

Bu üye Linux veya macOS'ta desteklenmez (yalnızca.NET Core).

Açıklamalar

Dosya adını, komut satırı bağımsız değişkenlerini, kullanıcı adını, parolasını ve etki alanını belirterek yeni bir işlem ve birincil iş parçacığı oluşturmak için bu aşırı yüklemeyi kullanın. Yeni işlem, belirtilen yürütülebilir dosyayı belirtilen kimlik bilgilerinin (kullanıcı, etki alanı ve parola) güvenlik bağlamında çalıştırır.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Yürütülebilir dosya bir uzak sürücüde bulunduğunda, bağlı sürücü harfini değil tekdüzen kaynak tanımlayıcısını (URI) kullanarak ağ paylaşımını tanımlamanız gerekir.

Uyarı

Başlatacak yürütülebilir dosyanın adresi bir URL ise, işlem başlatılmaz ve null döndürülür.

Bu aşırı yükleme, önce yeni Process bir örnek oluşturmadan bir işlem başlatmanızı sağlar. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin , Arguments, , PasswordUserNameve özelliklerini ayarlamanın FileNameve Domain örneği çağırmanın StartInfoStart açık adımlarına Process bir alternatiftir.

Benzer şekilde, Çalıştır iletişim kutusunun .exe uzantısı olan veya olmayan yürütülebilir dosya adını kabul edebilmesi gibi, .exe uzantısı parametresinde fileName isteğe bağlıdır. Örneğin, parametresini fileName "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz. fileName parametresi yürütülebilir bir dosyayı temsil ediyorsa, arguments parametresi üzerinde işlem gerçekleştirilecek bir dosyayı (örneğin, içindeki Notepad.exe myfile.txtmetin dosyasını) temsil edebilir.

Uyarı

Dosya adı, , passwordve domain parametreleri olan StartuserNameaşırı yüklemelerde yürütülebilir bir dosyayı temsil etmelidir.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Şunlara uygulanır

Start(String, String, SecureString, String)

Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs
Kaynak:
Process.Unix.cs

Önemli

Bu API, CLS uyumlu değildir.

Bir uygulamanın adını, kullanıcı adını, parolayı ve etki alanını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

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
[<System.CLSCompliant(false)>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
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

Parametreler

fileName
String

İşlemde çalıştırılacak bir uygulama dosyasının adı.

userName
String

İşlemi başlatırken kullanılacak kullanıcı adı.

password
SecureString

SecureString İşlemi başlatırken kullanılacak parolayı içeren bir.

domain
String

İşlemi başlatırken kullanılacak etki alanı.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir. Aynı işlemin zaten çalışan örnekleriyle birlikte başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Başlangıç özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem mevcut bir örneğini etkinleştirmiş ve ardından çıkılmış olabilir.

Öznitelikler

Özel durumlar

Hiçbir dosya adı belirtilmedi.

İlişkili dosya açılırken bir hata oluştu.

-veya-

içinde fileName belirtilen dosya bulunamadı.

İşlem nesnesi zaten atılmış.

Bu üye Linux veya macOS'ta desteklenmez (yalnızca.NET Core).

Örnekler

Aşağıdaki kod örneği, yürütülebilir bir dosyayı başlatmak için bu aşırı yüklemenin kullanımını gösterir ve ayrıca yürütülemeyen bir dosyayla ilişkilendirilmiş bir uygulamayı başlatma girişiminde bulunulduğunda bir oluşturma Win32Exception işlemini gösterir.

// 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();
        }
    }
}
// NOTE: This example requires a text.txt file file in your Documents folder
open System
open System.Diagnostics
open System.Security
open System.ComponentModel

printf "Enter your domain: "
let domain = stdin.ReadLine()
printf "Enter you user name: "
let uname = stdin.ReadLine()
printf "Enter your password: "
let password = new SecureString()

let mutable key = Console.ReadKey(true)

while key.Key <> ConsoleKey.Enter do
    // Ignore any key out of range.
    if int key.Key >= 33 && int key.Key <= 90 && key.Key <> ConsoleKey.Enter then
        // Append the character to the password.
        password.AppendChar key.KeyChar
        Console.Write "*"

    key <- Console.ReadKey(true)

printfn ""

try
    printfn "\nTrying to launch NotePad using your login information..."
    Process.Start("notepad.exe", uname, password, domain) |> ignore
with :? Win32Exception as ex ->
    printfn $"{ex.Message}"

let path = Environment.GetFolderPath Environment.SpecialFolder.MyDocuments + @"\"

try
    // The following call to Start succeeds if test.txt exists.
    printfn "\nTrying to launch 'text.txt'..."
    Process.Start $"{path}text.txt" |> ignore
with :? Win32Exception as ex ->
    printfn $"{ex.Message}"

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.
        printfn "\nTrying to launch 'text.txt' with your login information..."
        Process.Start($"{path}text.txt", uname, password, domain) |> ignore
    with :? Win32Exception as ex ->
        printfn $"{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

Açıklamalar

Dosya adını, kullanıcı adını, parolasını ve etki alanını belirterek yeni bir işlem ve birincil iş parçacığı oluşturmak için bu aşırı yüklemeyi kullanın. Yeni işlem, belirtilen yürütülebilir dosyayı belirtilen kimlik bilgilerinin (kullanıcı, etki alanı ve parola) güvenlik bağlamında çalıştırır.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Yürütülebilir dosya bir uzak sürücüde bulunduğunda, bağlı sürücü harfini değil tekdüzen kaynak tanımlayıcısını (URI) kullanarak ağ paylaşımını tanımlamanız gerekir.

Uyarı

Başlatacak yürütülebilir dosyanın adresi bir URL ise, işlem başlatılmaz ve null döndürülür.

Bu aşırı yükleme, önce yeni Process bir örnek oluşturmadan bir işlem başlatmanızı sağlar. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin , UserName, Passwordve özelliklerini ayarlama FileNameve Domain örnek için çağırma Start adımlarının StartInfo bir alternatifidirProcess.

Benzer şekilde, Çalıştır iletişim kutusunun .exe uzantısı olan veya olmayan yürütülebilir dosya adını kabul edebilmesi gibi, .exe uzantısı parametresinde fileName isteğe bağlıdır. Örneğin, parametresini fileName "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz. fileName parametresi yürütülebilir bir dosyayı temsil ediyorsa, arguments parametresi üzerinde işlem gerçekleştirilecek bir dosyayı (örneğin, içindeki Notepad.exe myfile.txtmetin dosyasını) temsil edebilir.

Uyarı

Dosya adı, , passwordve domain parametreleri olan StartuserNameaşırı yüklemelerde yürütülebilir bir dosyayı temsil etmelidir.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Şunlara uygulanır

Start(String, String)

Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs

Bir uygulamanın adını ve bir dizi komut satırı bağımsız değişkenini belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, string arguments);
public static System.Diagnostics.Process Start(string fileName, string arguments);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, string arguments);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * string -> System.Diagnostics.Process
static member Start : string * string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String) As Process

Parametreler

fileName
String

İşlemde çalıştırılacak bir uygulama dosyasının adı.

arguments
String

İşlemi başlatırken geçirilebilir komut satırı bağımsız değişkenleri.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir. Aynı işlemin zaten çalışan örnekleriyle birlikte başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Başlangıç özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem mevcut bir örneğini etkinleştirmiş ve ardından çıkılmış olabilir.

Öznitelikler

Özel durumlar

fileName veya arguments parametresidirnull.

İlişkili dosya açılırken bir hata oluştu.

-veya-

içinde fileName belirtilen dosya bulunamadı.

-veya-

Bağımsız değişkenlerin uzunluğu ve işlemin tam yolunun uzunluğu 2080'i aşıyor. Bu özel durumla ilişkili hata iletisi aşağıdakilerden biri olabilir: "Sistem çağrısına geçirilen veri alanı çok küçük." veya "Erişim reddedildi."

İşlem nesnesi zaten atılmış.

PATH ortam değişkeni, tırnak işaretleri içeren bir dizeye sahiptir.

Örnekler

Aşağıdaki örnek ilk olarak bir Internet Explorer örneği oluşturur ve Sık Kullanılanlar klasörünün içeriğini tarayıcıda görüntüler. Ardından Internet Explorer'ın diğer bazı örneklerini başlatır ve bazı belirli sayfaları veya siteleri görüntüler. Son olarak, belirli bir siteye giderken pencere simge durumuna küçültülmüş olarak Internet Explorer'ı başlatır.

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

Açıklamalar

Dosya adını ve komut satırı bağımsız değişkenlerini belirterek işlem kaynağını başlatmak için bu aşırı yüklemeyi kullanın. Aşırı yükleme, kaynağı yeni Process bir nesneyle ilişkilendirir.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Başlatacak yürütülebilir dosyanın adresi bir URL ise, işlem başlatılmaz ve null döndürülür.

Bu aşırı yükleme, önce yeni Process bir örnek oluşturmadan bir işlem başlatmanızı sağlar. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin FileName ve Arguments üyelerini ayarlama ve örnek için çağırma Start adımlarının StartInfo bir alternatifidirProcess.

Bir işlemin dosya adını ve bağımsız değişkenlerini belirterek başlatılması, Windows Start menüsünün iletişim kutusuna dosya adını ve komut satırı bağımsız değişkenlerini Run yazmaya benzer. Bu nedenle, dosya adının yürütülebilir dosyayı temsil etmeye gerek yoktur. Uzantının sistemde yüklü bir uygulamayla ilişkilendirildiği herhangi bir dosya türünde olabilir. Örneğin, not defteri gibi bir düzenleyiciyle ilişkili metin dosyalarınız varsa dosya adının bir .txt uzantısı veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz bir .doc olabilir. Benzer şekilde, iletişim kutusunun .exe uzantısı olan veya olmayan yürütülebilir dosya adını kabul edebilmesiyle aynı şekilde Run , .exe uzantısı parametresinde fileName isteğe bağlıdır. Örneğin, parametresini fileName "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz. fileName parametresi yürütülebilir bir dosyayı temsil ediyorsa, arguments parametresi üzerinde işlem gerçekleştirilecek bir dosyayı (örneğin, içindeki Notepad.exe myfile.txtmetin dosyasını) temsil edebilir. fileName Parametre bir komut (.cmd) dosyasını temsil ediyorsa, komut penceresinin arguments tamamlandıktan sonra çıkıp çıkmayacağını veya devam edip etmeyeceğini belirtmek için parametrenin "/c" veya "/k" bağımsız değişkeni içermesi gerekir.

Diğer aşırı yüklemelerden farklı olarak, parametresi olmayan öğesinin Start aşırı yüklemesi üye static değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) oluşturduysanız ve bir işlem kaynağı başlatmak ve bunu mevcut Process örnekle ilişkilendirmek istediğinizde bu aşırı yüklemeyi kullanın. Mevcut bir bileşen için işlem başlatmak yerine yeni Process bir bileşen oluşturmak istediğinizde aşırı yüklemelerden birini static kullanın. Hem bu aşırı yükleme hem de parametresiz aşırı yükleme, başlatılacak işlem kaynağının dosya adını ve geçirecek komut satırı bağımsız değişkenlerini belirtmenize olanak sağlar.

Sisteminizde tırnak işaretleri kullanılarak bildirilen bir yol değişkeniniz varsa, bu konumda bulunan herhangi bir işlemi başlatırken bu yolu tam olarak nitelemeniz gerekir. Aksi takdirde sistem yolu bulamaz. Örneğin, yolunuz içinde değilse c:\mypath ve tırnak işaretlerini path = %path%;"c:\mypath"kullanarak eklerseniz, başlarken içindeki tüm işlemleri tam olarak nitelemeniz c:\mypath gerekir.

Uyarı

ASP.NET Web sayfası ve sunucu denetim kodu, Web sunucusundaki ASP.NET çalışan işlemi bağlamında yürütülür. yöntemini bir ASP.NET Web sayfasında veya sunucu denetiminde kullanırsanız Start , yeni işlem kısıtlı izinlerle Web sunucusunda yürütülür. İşlem, istemci tarayıcısıyla aynı bağlamda başlamaz ve kullanıcı masaüstüne erişimi yoktur.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliği üzerindeykenUseShellExecute, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun.true Aksi takdirde, yönetilen iş parçacığı bir unknown durumda olabilir veya MTA durumunda olabilir; ikincisi ile UseShellExecutetrueçakılabilir. Bazı yöntemler, apartman durumunun olmamasını unknowngerektirir. Durum açıkça ayarlanmazsa, uygulama böyle bir yöntemle karşılaştığında varsayılan olarak MTAolarak ayarlanır ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durum oluşur.

Ayrıca bkz.

Şunlara uygulanır

Start(String)

Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs

Belgenin veya uygulama dosyasının adını belirterek bir işlem kaynağı başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName);
public static System.Diagnostics.Process Start(string fileName);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string -> System.Diagnostics.Process
static member Start : string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String) As Process

Parametreler

fileName
String

İşlemde çalıştırılacak belgenin veya uygulama dosyasının adı.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir. Aynı işlemin zaten çalışan örnekleriyle birlikte başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Başlangıç özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem mevcut bir örneğini etkinleştirmiş ve ardından çıkılmış olabilir.

Öznitelikler

Özel durumlar

İlişkili dosya açılırken bir hata oluştu.

-veya-

içinde fileName belirtilen dosya bulunamadı.

İşlem nesnesi zaten atılmış.

PATH ortam değişkeni, tırnak işaretleri içeren bir dizeye sahiptir.

Örnekler

Aşağıdaki örnek ilk olarak bir Internet Explorer örneği oluşturur ve Sık Kullanılanlar klasörünün içeriğini tarayıcıda görüntüler. Ardından Internet Explorer'ın diğer bazı örneklerini başlatır ve bazı belirli sayfaları veya siteleri görüntüler. Son olarak, belirli bir siteye giderken pencere simge durumuna küçültülmüş olarak Internet Explorer'ı başlatır.

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

Açıklamalar

Dosya adını belirterek bir işlem kaynağını başlatmak için bu aşırı yüklemeyi kullanın. Aşırı yükleme, kaynağı yeni Process bir nesneyle ilişkilendirir.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Başlatacak yürütülebilir dosyanın adresi bir URL ise, işlem başlatılmaz ve null döndürülür.

Bu aşırı yükleme, önce yeni Process bir örnek oluşturmadan bir işlem başlatmanızı sağlar. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin StartInfo üyesini FileName ayarlama ve örneği çağırmaya Start yönelik açık adımlara Process bir alternatiftir.

Bir ClickOnce uygulamasını başlatmak için parametresini uygulamayı ilk yüklediğiniz konuma (örneğin, bir Web adresi) ayarlayabilirsiniz fileName . Bir ClickOnce uygulamasını sabit sürücünüzde yüklü konumunu belirterek başlatmayın.

Dosya adını belirterek işlem başlatmak, Windows Start menüsünün Run iletişim kutusuna bilgileri yazmaya benzer. Bu nedenle, dosya adının yürütülebilir dosyayı temsil etmeye gerek yoktur. Uzantının sistemde yüklü bir uygulamayla ilişkilendirildiği herhangi bir dosya türünde olabilir. Örneğin, not defteri gibi bir düzenleyiciyle ilişkili metin dosyalarınız varsa dosya adının bir .txt uzantısı veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz bir .doc olabilir. Benzer şekilde, iletişim kutusunun .exe uzantısı olan veya olmayan yürütülebilir dosya adını kabul edebilmesiyle aynı şekilde Run , .exe uzantısı parametresinde fileName isteğe bağlıdır. Örneğin, parametresini fileName "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz.

Bu aşırı yükleme, işlem için komut satırı bağımsız değişkenlerine izin vermez. İşlem için bir veya daha fazla komut satırı bağımsız değişkeni belirtmeniz gerekiyorsa veya Process.Start(String, String) aşırı yüklemelerini kullanınProcess.Start(ProcessStartInfo).

Diğer aşırı yüklemelerden farklı olarak, parametresi olmayan öğesinin Start aşırı yüklemesi üye static değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) oluşturduysanız ve bir işlem kaynağı başlatmak ve bunu mevcut Process örnekle ilişkilendirmek istediğinizde bu aşırı yüklemeyi kullanın. Mevcut bir bileşen için işlem başlatmak yerine yeni Process bir bileşen oluşturmak istediğinizde aşırı yüklemelerden birini static kullanın. Hem bu aşırı yükleme hem de parametresi olmayan aşırı yükleme, başlatılacak işlem kaynağının dosya adını belirtmenize olanak sağlar.

Sisteminizde tırnak işaretleri kullanılarak bildirilen bir yol değişkeniniz varsa, bu konumda bulunan herhangi bir işlemi başlatırken bu yolu tam olarak nitelemeniz gerekir. Aksi takdirde sistem yolu bulamaz. Örneğin, yolunuz içinde değilse c:\mypath ve tırnak işaretlerini path = %path%;"c:\mypath"kullanarak eklerseniz, başlarken içindeki tüm işlemleri tam olarak nitelemeniz c:\mypath gerekir.

Uyarı

ASP.NET Web sayfası ve sunucu denetim kodu, Web sunucusundaki ASP.NET çalışan işlemi bağlamında yürütülür. yöntemini bir ASP.NET Web sayfasında veya sunucu denetiminde kullanırsanız Start , yeni işlem kısıtlı izinlerle Web sunucusunda yürütülür. İşlem, istemci tarayıcısıyla aynı bağlamda başlamaz ve kullanıcı masaüstüne erişimi yoktur.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliği üzerindeykenUseShellExecute, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun.true Aksi takdirde, yönetilen iş parçacığı bir unknown durumda olabilir veya MTA durumunda olabilir; ikincisi ile UseShellExecutetrueçakılabilir. Bazı yöntemler, apartman durumunun olmamasını unknowngerektirir. Durum açıkça ayarlanmazsa, uygulama böyle bir yöntemle karşılaştığında varsayılan olarak MTAolarak ayarlanır ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durum oluşur.

Ayrıca bkz.

Şunlara uygulanır

Start(ProcessStartInfo)

Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs

İşlem başlangıç bilgilerini (örneğin, başlatacak işlemin dosya adı) içeren parametresi tarafından belirtilen işlem kaynağını başlatır ve kaynağı yeni Process bir bileşenle ilişkilendirir.

public:
 static System::Diagnostics::Process ^ Start(System::Diagnostics::ProcessStartInfo ^ startInfo);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process Start(System.Diagnostics.ProcessStartInfo startInfo);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
Public Shared Function Start (startInfo As ProcessStartInfo) As Process

Parametreler

startInfo
ProcessStartInfo

Dosya ProcessStartInfo adı ve komut satırı bağımsız değişkenleri dahil olmak üzere işlemi başlatmak için kullanılan bilgileri içeren.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir. Aynı işlemin zaten çalışan örnekleriyle birlikte başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Başlangıç özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem mevcut bir örneğini etkinleştirmiş ve ardından çıkılmış olabilir.

Öznitelikler

Özel durumlar

Parametrenin FileName özelliğinde startInfo hiçbir dosya adı belirtilmedi.

-veya-

UseShellExecute parametresinin startInfo özelliği ve RedirectStandardInputtrue , RedirectStandardOutputveya RedirectStandardError özelliği de trueşeklindedir.

-veya-

parametresinin startInfo özelliği ve UserNametrue özelliği veya boş ya null da Password özelliği değildirnull.UseShellExecute

startInfo parametresi null'dir.

İşlem nesnesi zaten atılmış.

İlişkili dosya açılırken bir hata oluştu.

-veya-

Parametrenin FileName özelliğinde startInfo belirtilen dosya bulunamadı.

-veya-

Bağımsız değişkenlerin uzunluğu ve işlemin tam yolunun uzunluğu 2080'i aşıyor. Bu özel durumla ilişkili hata iletisi aşağıdakilerden biri olabilir: "Sistem çağrısına geçirilen veri alanı çok küçük." veya "Erişim reddedildi."

Nano Sunucu gibi kabuk desteği olmayan işletim sistemlerinde yöntem desteklenmez (yalnızca.NET Core).

Örnekler

Aşağıdaki örnek ilk olarak bir Internet Explorer örneği oluşturur ve Sık Kullanılanlar klasörünün içeriğini tarayıcıda görüntüler. Ardından Internet Explorer'ın diğer bazı örneklerini başlatır ve bazı belirli sayfaları veya siteleri görüntüler. Son olarak, belirli bir siteye giderken pencere simge durumuna küçültülmüş olarak Internet Explorer'ı başlatır.

Bu yöntemin diğer kullanımlarına ilişkin ek örnekler için sınıfının tek tek özelliklerine ProcessStartInfo bakın.

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

Açıklamalar

Bir örnek belirterek ProcessStartInfo işlem kaynağını başlatmak için bu aşırı yüklemeyi kullanın. Aşırı yükleme, kaynağı yeni Process bir nesneyle ilişkilendirir.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Başlatacak yürütülebilir dosyanın adresi bir URL ise, işlem başlatılmaz ve null döndürülür.

Bu aşırı yükleme, önce yeni Process bir örnek oluşturmadan bir işlem başlatmanızı sağlar. Bu aşırı yüklemeyi bir ProcessStartInfo parametreyle kullanmak, yeni Process bir örnek oluşturma, özelliklerini ayarlama ve örnek için çağırma Start adımlarının StartInfo bir alternatifidirProcess.

Parametre olarak bir ProcessStartInfo örneği kullanmak, işlemi başlatmak için çağrıya geçirilenler üzerinde en fazla denetime sahip çağrı yapmanızı Start sağlar. Yalnızca bir dosya adı veya dosya adı ve bağımsız değişkenleri geçirmeniz gerekiyorsa, yeni ProcessStartInfo bir örnek oluşturmanız gerekmez, ancak bu bir seçenektir. Ayarlanması gereken tek Process.StartInfo özellik özelliğidir FileName . özelliğinin FileName yürütülebilir bir dosyayı temsil etmeye ihtiyacı yoktur. Uzantının sistemde yüklü bir uygulamayla ilişkilendirildiği herhangi bir dosya türünde olabilir. Örneğin, FileName not defteri gibi bir düzenleyiciyle ilişkili metin dosyalarınız varsa özelliğin bir .txt uzantısı veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz .doc uzantısı olabilir.

Uygulamayı ilk kez yüklediğiniz konumu (örneğin, bir Web adresi) belirterek bir ClickOnce uygulaması başlatabilirsiniz. Bir ClickOnce uygulamasını sabit sürücünüzde yüklü konumunu belirterek başlatmayın.

ProcessStartInfo.UserName Örneğin ve ProcessStartInfo.Password özellikleri StartInfo ayarlanırsa, yönetilmeyen CreateProcessWithLogonW işlev çağrılır ve bu işlev, özellik değeri veya ProcessStartInfo.WindowStyle özellik değeri ProcessWindowStyle.Hiddenolsa ProcessStartInfo.CreateNoWindowtrue bile işlemi yeni bir pencerede başlatır. ProcessStartInfo.Domain özelliği isenull, ProcessStartInfo.UserName özellik UPN biçiminde olmalıdır, kullanıcı@DNS_domain_name.

Diğer aşırı yüklemelerden farklı olarak, parametresi olmayan öğesinin Start aşırı yüklemesi üye static değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) oluşturduysanız ve bir işlem kaynağı başlatmak ve bunu mevcut Process örnekle ilişkilendirmek istediğinizde bu aşırı yüklemeyi kullanın. Mevcut bir bileşen için işlem başlatmak yerine yeni Process bir bileşen oluşturmak istediğinizde aşırı yüklemelerden birini static kullanın. Hem bu aşırı yükleme hem de parametresiz aşırı yükleme, bir ProcessStartInfo örnek kullanarak işlem kaynağı için başlangıç bilgilerini belirtmenize olanak tanır.

Sisteminizde tırnak işaretleri kullanılarak bildirilen bir yol değişkeniniz varsa, bu konumda bulunan herhangi bir işlemi başlatırken bu yolu tam olarak nitelemeniz gerekir. Aksi takdirde sistem yolu bulamaz. Örneğin, yolunuz içinde değilse c:\mypath ve tırnak işaretlerini path = %path%;"c:\mypath"kullanarak eklerseniz, başlarken içindeki tüm işlemleri tam olarak nitelemeniz c:\mypath gerekir.

Uyarı

ASP.NET Web sayfası ve sunucu denetim kodu, Web sunucusundaki ASP.NET çalışan işlemi bağlamında yürütülür. yöntemini bir ASP.NET Web sayfasında veya sunucu denetiminde kullanırsanız Start , yeni işlem kısıtlı izinlerle Web sunucusunda yürütülür. İşlem, istemci tarayıcısıyla aynı bağlamda başlamaz ve kullanıcı masaüstüne erişimi yoktur.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. parametresinde olduğunda UseShellExecutetrue , yönteminde startInfo özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun. Aksi takdirde, yönetilen iş parçacığı bir unknown durumda olabilir veya MTA durumunda olabilir; ikincisi ile UseShellExecutetrueçakılabilir. Bazı yöntemler, apartman durumunun olmamasını unknowngerektirir. Durum açıkça ayarlanmazsa, uygulama böyle bir yöntemle karşılaştığında varsayılan olarak MTAolarak ayarlanır ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durum oluşur.

Ayrıca bkz.

Şunlara uygulanır

Start()

Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs

Bu Process bileşenin özelliği tarafından StartInfo belirtilen işlem kaynağını başlatır (veya yeniden kullanabilir) ve bunu bileşenle ilişkilendirir.

public:
 bool Start();
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public bool Start();
public bool Start();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public bool Start();
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Start : unit -> bool
member this.Start : unit -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Start : unit -> bool
Public Function Start () As Boolean

Döndürülenler

true bir işlem kaynağı başlatılırsa; false yeni bir işlem kaynağı başlatılmazsa (örneğin, mevcut bir işlem yeniden kullanılırsa).

Öznitelikler

Özel durumlar

Bileşenin ProcessStartInfoiçinde hiçbir dosya adı belirtilmedi.

-veya-

UseShellExecute özelliğinin trueStartInfo üyesi , RedirectStandardOutputveya RedirectStandardError iken RedirectStandardInputşeklindedirtrue.

İlişkili dosya açılırken bir hata oluştu.

İşlem nesnesi zaten atılmış.

Nano Sunucu gibi kabuk desteği olmayan işletim sistemlerinde yöntem desteklenmez (yalnızca.NET Core).

Örnekler

Aşağıdaki örnek, bir işlemi başlatmak için sınıfının bir örneğini Process kullanır.

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

Açıklamalar

İşlem kaynağını başlatmak ve geçerli Process bileşenle ilişkilendirmek için bu aşırı yüklemeyi kullanın. Dönüş değeri true , yeni bir işlem kaynağının başlatıldığını gösterir. Özelliğin üyesi StartInfo tarafından FileName belirtilen işlem kaynağı bilgisayarda zaten çalışıyorsa, ek işlem kaynağı başlatılmaz. Bunun yerine, çalışan işlem kaynağı yeniden kullanılır ve false döndürülür.

Uygulamayı ilk kez yüklediğiniz konumu (örneğin, bir Web adresi) belirterek bir ClickOnce uygulaması başlatabilirsiniz. Bir ClickOnce uygulamasını sabit sürücünüzde yüklü konumunu belirterek başlatmayın.

Önemli

Güvenilmeyen verilerle bu tür bir örneği kullanmak bir güvenlik riskidir. Bu nesneyi yalnızca güvenilen verilerle kullanın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Uyarı

Visual Studio kullanıyorsanız, bir bileşeni tasarımcıya Start sürükledikten Process sonra kodunuza eklediğiniz yöntemin bu aşırı yüklemesidir. Kategoriyi Properties genişletmek ve özelliğine StartInfo uygun değeri yazmak için FileName pencereyi kullanın. Değişiklikleriniz formun InitializeComponent yordamında görünür.

bu aşırı yükleme Start yöntemi static değildir. Sınıfın bir örneğinden Process çağırmalısınız. çağrısından Startönce bu Process örnek için özellik bilgilerini belirtmeniz StartInfo gerekir, çünkü bu bilgiler başlatılacak işlem kaynağını belirlemek için kullanılır.

Yönteminin Start diğer aşırı yüklemeleri üyelerdir static . Yönteminin Process bu aşırı yüklemelerini çağırmadan önce bileşenin bir örneğini oluşturmanız gerekmez. Bunun yerine, sınıfın kendisini çağırabilirsiniz Start ve işlem başlatıldıysa yeni Process bir bileşen oluşturulur.Process Veya bir null işlem yeniden kullanıldıysa döndürülür. İşlem kaynağı, yöntemi tarafından Start döndürülen yeni Process bileşenle otomatik olarak ilişkilendirilir.

ÜyelerStartInfo, Windows Start menüsünün iletişim kutusunun işlevselliğini Run yinelemek için kullanılabilir. Bir komut satırına yazılabilir her şey özelliğinde StartInfo uygun değerler ayarlanarak başlatılabilir. Ayarlanması gereken tek StartInfo özellik özelliğidir FileName . Özelliğin FileName yürütülebilir dosya olması gerekmez. Uzantının sistemde yüklü bir uygulamayla ilişkilendirildiği herhangi bir dosya türünde olabilir. Örneğin, FileName not defteri gibi bir düzenleyiciyle ilişkili metin dosyalarınız varsa özelliğin bir .txt uzantısı veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz .doc uzantısı olabilir.

Komut satırında, belirli dosya türleri için yapılması gereken eylemleri belirtebilirsiniz. Örneğin, belgeleri yazdırabilir veya metin dosyalarını düzenleyebilirsiniz. Özelliğin StartInfo üyesini Verb kullanarak bu eylemleri belirtin. Diğer dosya türleri için, dosyayı iletişim kutusundan Run başlattığınızda komut satırı bağımsız değişkenlerini belirtebilirsiniz. Örneğin, tarayıcınızı olarak belirtirseniz bir URL'yi bağımsız değişken olarak FileNamegeçirebilirsiniz. Bu bağımsız değişkenler özelliğin Arguments üyesinde StartInfo belirtilebilir.

Sisteminizde tırnak işaretleri kullanılarak bildirilen bir yol değişkeniniz varsa, bu konumda bulunan herhangi bir işlemi başlatırken bu yolu tam olarak nitelemeniz gerekir. Aksi takdirde sistem yolu bulamaz. Örneğin, yolunuz içinde değilse c:\mypath ve tırnak işaretlerini path = %path%;"c:\mypath"kullanarak eklerseniz, başlarken içindeki tüm işlemleri tam olarak nitelemeniz c:\mypath gerekir.

Uyarı

ASP.NET Web sayfası ve sunucu denetim kodu, Web sunucusundaki ASP.NET çalışan işlemi bağlamında yürütülür. yöntemini bir ASP.NET Web sayfasında veya sunucu denetiminde kullanırsanız Start , yeni işlem kısıtlı izinlerle Web sunucusunda yürütülür. İşlem, istemci tarayıcısıyla aynı bağlamda başlamaz ve kullanıcı masaüstüne erişimi yoktur.

Bir işlemi başlatmak için her kullandığınızda Start , işlemi kapatmanız gerekebilir veya sistem kaynaklarını kaybetme riskiyle karşı karşıya olabilirsiniz. veya Killkullanarak CloseMainWindow işlemleri kapatın. Bir işlemin özelliğini kullanarak HasExited zaten kapatılıp kapatılmadığını de kontrol edebilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliği üzerindeykenUseShellExecute, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun.true Aksi takdirde, yönetilen iş parçacığı bir unknown durumda olabilir veya MTA durumunda olabilir; ikincisi ile UseShellExecutetrueçakılabilir. Bazı yöntemler, apartman durumunun olmamasını unknowngerektirir. Durum açıkça ayarlanmazsa, uygulama böyle bir yöntemle karşılaştığında varsayılan olarak MTAolarak ayarlanır ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durum oluşur.

Ayrıca bkz.

Şunlara uygulanır

Start(String, IEnumerable<String>)

Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs
Kaynak:
Process.cs

Bir uygulamanın adını ve bir dizi komut satırı bağımsız değişkenini belirterek bir işlem kaynağı başlatır.

public:
 static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::Collections::Generic::IEnumerable<System::String ^> ^ arguments);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * seq<string> -> System.Diagnostics.Process
static member Start : string * seq<string> -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * seq<string> -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As IEnumerable(Of String)) As Process

Parametreler

fileName
String

İşlemde çalıştırılacak belgenin veya uygulama dosyasının adı.

arguments
IEnumerable<String>

İşlemi başlatırken geçirilebilir komut satırı bağımsız değişkenleri.

Döndürülenler

İşlem kaynağıyla ilişkilendirilmiş veya null hiçbir işlem kaynağı başlatılmadıysa yeni Process bir.

Öznitelikler

Açıklamalar

Gerekirse her bağımsız değişken otomatik olarak atlanır.

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Şunlara uygulanır