Process.StartInfo Propriété

Définition

Obtient ou définit les propriétés à passer à la méthode Start() de Process.

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

Valeur de propriété

ProcessStartInfo qui représente les données avec lesquelles démarrer le processus. Ces arguments comprennent le nom du fichier exécutable ou du document utilisé pour démarrer le processus.

Attributs

Exceptions

Valeur qui spécifie que StartInfo a la valeur null.

.NET Core et .NET 5+ uniquement : la Start() méthode n’a pas été utilisée pour démarrer le processus.

Exemples

L’exemple suivant remplit un StartInfo avec le fichier à exécuter, l’action effectuée dessus et indique s’il doit afficher une interface utilisateur. Pour obtenir des exemples supplémentaires, reportez-vous aux pages de référence pour les propriétés de la ProcessStartInfo classe .

#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

Remarques

StartInfo représente l’ensemble de paramètres à utiliser pour démarrer un processus. Quand Start est appelé, le StartInfo est utilisé pour spécifier le processus à démarrer. Le seul membre nécessaire StartInfo à définir est la FileName propriété . Démarrer un processus en spécifiant la FileName propriété revient à taper les informations dans la boîte de dialogue Exécuter du menu Démarrer de Windows. Par conséquent, la FileName propriété n’a pas besoin de représenter un fichier exécutable. Il peut s’agir de n’importe quel type de fichier pour lequel l’extension a été associée à une application installée sur le système. Par exemple, peut avoir une extension .txt si vous avez associé des fichiers texte à un éditeur, tel que le FileName Bloc-notes, ou un .doc si vous avez associé des fichiers .doc à un outil de traitement de texte, tel que Microsoft Word. De même, de la même façon que la boîte de dialogue Exécuter peut accepter un nom de fichier exécutable avec ou sans l’extension .exe, l’extension .exe est facultative dans le FileName membre. Par exemple, vous pouvez définir la FileName propriété sur « Notepad.exe » ou « Bloc-notes ».

Vous pouvez démarrer une application ClickOnce en définissant la FileName propriété sur l’emplacement (par exemple, une adresse Web) à partir duquel vous avez initialement installé l’application. Ne démarrez pas une application ClickOnce en spécifiant son emplacement d’installation sur votre disque dur.

Si le nom de fichier implique un fichier non exécutable, tel qu’un fichier .doc, vous pouvez inclure un verbe spécifiant l’action à entreprendre sur le fichier. Par exemple, vous pouvez définir sur Verb « Imprimer » pour un fichier se terminant par l’extension .doc. Le nom de fichier spécifié dans la FileName propriété n’a pas besoin d’une extension si vous entrez manuellement une valeur pour la Verb propriété. Toutefois, si vous utilisez la Verbs propriété pour déterminer quels verbes sont disponibles, vous devez inclure l’extension.

Vous pouvez modifier les paramètres spécifiés dans la StartInfo propriété jusqu’au moment où vous appelez la Start méthode sur le processus. Une fois que vous avez démarré le processus, la modification des StartInfo valeurs n’affecte pas ou ne redémarre pas le processus associé. Si vous appelez la Start(ProcessStartInfo) méthode avec les ProcessStartInfo.UserName propriétés et ProcessStartInfo.Password définies, la fonction non managée CreateProcessWithLogonW est appelée, ce qui démarre le processus dans une nouvelle fenêtre, même si la valeur de la CreateNoWindow propriété est true ou si la valeur de la WindowStyle propriété est Hidden.

Vous devez accéder à la StartInfo propriété uniquement sur un Process objet retourné par la Start méthode . Par exemple, vous ne devez pas accéder à la StartInfo propriété sur un Process objet retourné par GetProcesses. Sinon, sur .NET Core, la StartInfo propriété lève un InvalidOperationException et sur .NET Framework, elle retourne un objet factice ProcessStartInfo .

Lorsque le processus est démarré, le nom de fichier est le fichier qui remplit la propriété (en lecture seule). MainModule Si vous souhaitez récupérer le fichier exécutable associé au processus après le démarrage du processus, utilisez la MainModule propriété . Si vous souhaitez définir le fichier exécutable d’un Process instance pour lequel un processus associé n’a pas été démarré, utilisez le membre de FileName la StartInfo propriété. Étant donné que les membres de la StartInfo propriété sont des arguments passés à la Start méthode d’un processus, la modification de la FileName propriété après le démarrage du processus associé ne réinitialise pas la MainModule propriété. Ces propriétés sont utilisées uniquement pour initialiser le processus associé.

S’applique à

Voir aussi