Process.StartInfo Özellik

Tanım

yöntemini Processgeçirmek Start() için ö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

İşlemin 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 dosyayla, üzerinde gerçekleştirilen eylemle ve bir kullanıcı arabirimi görüntülenip görüntülenmeyeceğiyle doldurur StartInfo . Ek örnekler için, sınıfın özellikleri ProcessStartInfo için başvuru sayfalarına bakın.

#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

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, Bilgileri Windows Başlat menüsünün Çalıştır iletişim kutusuna yazmaya benzer. Bu nedenle, özelliğin 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ğinFileName, Not Defteri gibi bir düzenleyiciyle ilişkili metin dosyalarınız varsa .txt uzantısına sahip olabilir 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 bir yürütülebilir dosya adını kabul edebilmesi gibi, üyede FileName .exe uzantısı isteğe bağlıdır. Örneğin, özelliğini "Notepad.exe" veya "Not Defteri" olarak ayarlayabilirsiniz FileName .

Özelliğini uygulamayı ilk yüklediğiniz konuma (örneğin, bir Web adresi) ayarlayarak FileName bir ClickOnce uygulaması başlatabilirsiniz. Yüklü konumunu sabit sürücünüzde belirterek clickOnce uygulamasını 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 belirtilen parametreleri işlemde StartInfo 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. Bu işlev, özellik değeri veya WindowStyle özellik değeri Hiddenolsa CreateNoWindowtrue 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 .NET Framework 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 üyesini StartInfoFileName 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.