Aracılığıyla paylaş


Process.StartInfo Özellik

Tanım

yöntemine Processgeçirmek için Start() özelliklerini alır veya ayarlar.

public:
 property System::Diagnostics::ProcessStartInfo ^ StartInfo { System::Diagnostics::ProcessStartInfo ^ get(); void set(System::Diagnostics::ProcessStartInfo ^ value); };
public System.Diagnostics.ProcessStartInfo StartInfo { get; set; }
[System.ComponentModel.Browsable(false)]
public System.Diagnostics.ProcessStartInfo StartInfo { get; set; }
member this.StartInfo : System.Diagnostics.ProcessStartInfo with get, set
[<System.ComponentModel.Browsable(false)>]
member this.StartInfo : System.Diagnostics.ProcessStartInfo with get, set
Public Property StartInfo As ProcessStartInfo

Özellik Değeri

sürecin ProcessStartInfo başlatıldığı verileri temsil eden. Bu bağımsız değişkenler, işlemi başlatmak için kullanılan yürütülebilir dosyanın veya belgenin adını içerir.

Öznitelikler

Özel durumlar

değerini belirten StartInfo değerdir null.

Yalnızca .NET Core ve .NET 5+ : Start() yöntemi işlemi başlatmak için kullanılmadı.

Örnekler

Aşağıdaki örnek, yürütülecek StartInfo dosyayla, üzerinde gerçekleştirilen eylemle ve bir kullanıcı arabirimi görüntüleyip görüntülememesi gerektiğiyle doldurur. Ek örnekler için, sınıfın özellikleri ProcessStartInfo için başvuru sayfalarına bakın.

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

StartInfo bir işlemi başlatmak için kullanılacak parametre kümesini temsil eder. çağrıldığında Start , StartInfo başlatılacak işlemi belirtmek için kullanılır. Ayarlanması gereken StartInfo tek üye özelliğidir FileName . özelliğini belirterek FileName bir işlem başlatmak, Windows Başlat menüsünün Çalıştır iletişim kutusuna bilgileri yazmaya benzer. Bu nedenle, özelliğin FileName yürütülebilir bir 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 FileName , metin dosyalarını Not Defteri gibi bir düzenleyiciyle ilişkilendirdiyseniz .txt uzantısına veya Microsoft Word gibi bir sözcük işleme aracıyla .doc dosyaları ilişkilendirdiyseniz bir .doc olabilir. 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ı üyede FileName isteğe bağlıdır. Örneğin, özelliğini "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz FileName .

Özelliği, uygulamayı ilk yüklediğiniz konuma (örneğin, bir Web adresi) ayarlayarak FileName bir ClickOnce uygulaması başlatabilirsiniz. Bir ClickOnce uygulamasını sabit sürücünüzde yüklü konumunu belirterek başlatmayın.

Dosya adı, .doc dosyası gibi yürütülemez bir dosya içeriyorsa, dosya üzerinde hangi eylemin gerçekleştirileceğini belirten bir fiil ekleyebilirsiniz. Örneğin, .doc uzantısıyla biten bir dosya için "Yazdır" olarak ayarlayabilirsiniz Verb . Özellik için Verb el ile bir değer girerseniz, özelliğinde FileName belirtilen dosya adının uzantısı olması gerekmez. Ancak, hangi fiillerin kullanılabilir olduğunu belirlemek için özelliğini kullanırsanız Verbs uzantıyı eklemeniz gerekir.

özelliğinde StartInfo belirtilen parametreleri, işlemde yöntemini çağırdığınız Start saate kadar değiştirebilirsiniz. İşlemi başlattıktan sonra, değerlerin StartInfo değiştirilmesi ilişkili işlemi etkilemez veya yeniden başlatmaz. yöntemini ve ProcessStartInfo.Password özellikleri ayarlanmış olarak çağırırsanız ProcessStartInfo.UserNameStart(ProcessStartInfo), yönetilmeyen CreateProcessWithLogonW işlev çağrılır ve bu işlev, özellik değeri veya WindowStyle özellik değeri Hiddentrue olsa CreateNoWindow bile işlemi yeni bir pencerede başlatır.

Özelliğine StartInfo yalnızca yöntemi tarafından döndürülen bir Process nesnede Start erişmeniz gerekir. Örneğin, tarafından GetProcessesdöndürülen bir Process nesnede özelliğine StartInfo erişmemelisiniz. Aksi takdirde, .NET Core'da StartInfo özelliği bir InvalidOperationException ve oluşturur ve .NET Framework'te sahte ProcessStartInfo bir nesne döndürür.

İşlem başlatıldığında, dosya adı (salt okunur) MainModule özelliğini dolduran dosyadır. İşlem başlatıldıktan sonra işlemle ilişkili yürütülebilir dosyayı almak istiyorsanız özelliğini kullanın MainModule . İlişkili bir işlemin başlatılmadığı bir Process örneğin yürütülebilir dosyasını ayarlamak istiyorsanız, özelliğin FileName üyesini StartInfo kullanın. Özelliğin StartInfo üyeleri bir işlemin yöntemine Start geçirilen bağımsız değişkenler olduğundan, ilişkili işlem başlatıldıktan sonra özelliğin değiştirilmesi FileName özelliği sıfırlamaz MainModule . Bu özellikler yalnızca ilişkili işlemi başlatmak için kullanılır.

Şunlara uygulanır

Ayrıca bkz.