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

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)

Belge 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şlatma bilgilerini içeren parametresi tarafından belirtilen işlem kaynağını başlatır (örneğin, başlatacak işlemin dosya adı) 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 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

Ö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şlatma sırasında geçirilecek 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

Process İşlem kaynağıyla ilişkili yeni bir kaynak veya null hiçbir işlem kaynağı başlatılmadıysa. 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, Start özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem kendi 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 daha sonra 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.

Not

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.

Not

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ıza olanak tanır. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin , , UserNameArguments, Passwordve özelliklerini StartInfo ayarlamanın FileNameve Domain örneği çağırmanın Start açık adımlarına Process bir alternatiftir.

Benzer şekilde, Çalıştır iletişim kutusunun .exe uzantısıyla veya uzantı olmadan 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 ederse, arguments parametresi işlem yapmak için bir dosyayı temsil edebilir, örneğin içindeki Notepad.exe myfile.txtmetin dosyası.

Not

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 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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

Şunlara uygulanır

Start(String, String, SecureString, String)

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

Process İşlem kaynağıyla ilişkili yeni bir kaynak veya null hiçbir işlem kaynağı başlatılmadıysa. 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, Start özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem kendi 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 Win32Exception kullanımını gösterir ve ayrıca yürütülemeyen bir dosyayla ilişkili bir uygulamayı başlatma girişiminde bulunulduğunda bir oluşturma 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();
        }
    }
}
' 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 daha sonra 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.

Not

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.

Not

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ıza olanak tanır. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin , UserName, Passwordve özelliklerini StartInfo ayarlamanın FileNameve Domain örneği çağırmanın Start açık adımlarına Process bir alternatiftir.

Benzer şekilde, Çalıştır iletişim kutusunun .exe uzantısıyla veya uzantı olmadan 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 ederse, arguments parametresi işlem yapmak için bir dosyayı temsil edebilir, örneğin içindeki Notepad.exe myfile.txtmetin dosyası.

Not

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 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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

Şunlara uygulanır

Start(String, String)

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);
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.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
public static System.Diagnostics.Process Start (string fileName, string arguments);
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
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şlatma sırasında geçirilecek komut satırı bağımsız değişkenleri.

Döndürülenler

Process İşlem kaynağıyla ilişkili yeni bir kaynak veya null hiçbir işlem kaynağı başlatılmadıysa. 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, Start özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem kendi 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.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

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.

Not

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ıza olanak tanır. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin ve üyelerini ayarlama FileName ve Arguments örnek için çağırma Start açık adımlarının StartInfo bir alternatifidirProcess.

Dosya adını ve bağımsız değişkenlerini belirterek bir işlem başlatmak, Windows Start menüsünün iletişim kutusuna dosya adı ve komut satırı bağımsız değişkenlerini Run yazmaya benzer. Bu nedenle, dosya adının yürütülebilir bir dosyayı temsil etmesine 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 .txt bir uzantısı olabilir veya microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz bir .doc olabilir. Benzer şekilde, Run iletişim kutusunun .exe uzantısıyla veya uzantı olmadan 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 ederse, arguments parametresi işlem yapmak için bir dosyayı temsil edebilir, örneğin içindeki Notepad.exe myfile.txtmetin dosyası. fileName Parametre bir komut (.cmd) dosyasını temsil ediyorsa, komut penceresinin arguments tamamlandıktan sonra çıkıp çıkmayacağını veya kalacağını belirtmek için parametrenin bir "/c" veya "/k" bağımsız değişkeni içermesi gerekir.

Diğer aşırı yüklemelerden farklı olarak, parametresi olmayan aşırı yüklemesi Start bir static üye değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) belirttiğinizde ve bir işlem kaynağı başlatıp 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ı ve geçirilmesi gereken 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.

Not

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 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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliğinde olduğunda UseShellExecutetrue, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun. Aksi takdirde, yönetilen bir iş parçacığı bir unknown durumda olabilir veya durumuna yerleştirilebilir MTA ; 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 durumun oluşmasına neden olur.

Ayrıca bkz.

Şunlara uygulanır

Start(String)

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);
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.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
public static System.Diagnostics.Process Start (string fileName);
static member Start : string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
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 örneklerinin yanı sıra başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Start özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem kendi mevcut bir örneğini etkinleştirmiş ve sonra çı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.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

Açıklamalar

İşlem kaynağının dosya adını belirterek 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.

Not

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ıza olanak tanır. Aşırı yükleme, yeni Process bir örnek oluşturma, özelliğin StartInfo üyesini FileName ayarlama ve örnek için çağırma Start açık adımlarına Process bir alternatiftir.

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

Dosya adını belirterek bir 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 bir dosyayı temsil etmesine 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 .txt bir uzantısı olabilir veya microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz bir .doc olabilir. Benzer şekilde, Run iletişim kutusunun .exe uzantısıyla veya uzantı olmadan 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.

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 aşırı yüklemesi Start bir static üye değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) belirttiğinizde ve bir işlem kaynağı başlatıp 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.

Not

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 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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliğinde olduğunda UseShellExecutetrue, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun. Aksi takdirde, yönetilen bir iş parçacığı bir unknown durumda olabilir veya durumuna yerleştirilebilir MTA ; ikincisi ile UseShellExecutetrueçakılır. 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 MTAolur ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durumun oluşmasına neden olur.

Ayrıca bkz.

Şunlara uygulanır

Start(ProcessStartInfo)

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);
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);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
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 de 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 örneklerinin yanı sıra başlatılan yeni bir işlemin diğerlerinden bağımsız olacağını unutmayın. Ayrıca, Start özelliği zaten olarak ayarlanmış truenull olmayan bir İşlem HasExited döndürebilir. Bu durumda, başlatılan işlem kendi mevcut bir örneğini etkinleştirmiş ve sonra çı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ğidir true ve UserName özelliği boş veya boş değildir null ya da Password özelliği değildirnull.UseShellExecute

startInfo parametresidirnull.

İşlem nesnesi zaten atılmış.

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

-veya-

Parametrenin startInfoFileName özelliğinde 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 desteklenmiyor (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, Internet Explorer'ı belirli bir siteye giderken pencere simge durumuna küçültülmüş olarak 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.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

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öntemi güvenilmeyen verilerle çağırmak bir güvenlik riskidir. Bu yöntemi yalnızca güvenilen verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Not

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 ö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 .txt uzantısı olabilir veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyalarınız varsa .doc uzantısına sahip olabilir.

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

ProcessStartInfo.UserName Örneğin ve ProcessStartInfo.Password özellikleri StartInfo ayarlanırsa, yönetilmeyen CreateProcessWithLogonW işlev çağrılır. 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 isenullProcessStartInfo.UserName, özellik UPN biçiminde olmalıdır, kullanıcı@DNS_domain_name.

Diğer aşırı yüklemelerin aksine, parametresi olmayan aşırı yüklemesi Start üye static değildir. Zaten bir Process örnek oluşturduğunuzda ve başlangıç bilgilerini (dosya adı dahil) belirttiğinizde 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, 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.

Not

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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

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 bir iş parçacığı bir unknown durumda olabilir veya durumuna yerleştirilebilir MTA ; ikincisi ile UseShellExecutetrueçakılır. 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 MTAolur ve ayarlandıktan sonra, daire durumu değiştirilemez. Ancak, MTA işletim sistemi kabuğu iş parçacığını yönetirken bir özel durumun oluşmasına neden olur.

Ayrıca bkz.

Şunlara uygulanır

Start()

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 bileşenle ilişkilendirir.

public:
 bool Start();
public bool Start ();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public bool Start ();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
public bool Start ();
member this.Start : unit -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Start : unit -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
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 ProcessStartInfodosyasında hiçbir dosya adı belirtilmedi.

-veya-

UseShellExecute özelliğinin trueStartInfo üyesi iken RedirectStandardInput, RedirectStandardOutputveya RedirectStandardError ş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 desteklenmiyor (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.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);
            }
        }
    }
}
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 yüklediğiniz konumu (örneğin, bir Web adresi) belirterek bir ClickOnce uygulaması başlatabilirsiniz. Yüklü konumunu sabit sürücünüzde belirterek clickOnce uygulamasını başlatmayın.

Önemli

Güvenilmeyen verilerle bu nesnenin bir örneğini 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.

Not

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 FileName yazmak için pencereyi kullanın. Değişiklikleriniz formun InitializeComponent yordamında görüntülenir.

bu aşırı yüklemesi Start bir static yöntem değildir. Sınıfın bir örneğinden Process çağırmanız gerekir. ç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. 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 metin dosyalarını Not Defteri gibi bir düzenleyiciyle ilişkilendirdiyseniz özelliğin .txt bir uzantısı olabilir veya microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz .doc uzantısına sahip 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ğinin üyesini VerbStartInfo 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 bağımsız değişken olarak FileNamebir URL geç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.

Not

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 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 zaten kapatılıp kapatılmadığını denetlemek için özelliğini HasExited kullanabilirsiniz.

Yönetilen iş parçacıklarındaki apartman durumları hakkında burada bir not gereklidir. İşlem bileşeninin StartInfo özelliğinde olduğunda UseShellExecutetrue, yönteminde özniteliğini [STAThread] ayarlayarak uygulamanızda bir iş parçacığı modeli ayarladığınızdan main() emin olun. Aksi takdirde, yönetilen bir iş parçacığı bir unknown durumda olabilir veya durumuna yerleştirilebilir MTA ; 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 durumun oluşmasına neden olur.

Ayrıca bkz.

Şunlara uygulanır

Start(String, IEnumerable<String>)

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);
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.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
public static System.Diagnostics.Process Start (string fileName, System.Collections.Generic.IEnumerable<string> arguments);
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
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
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

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

Ö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