Partager via


Propriété System.Diagnostics.ProcessStartInfo.UseShellExecute

Cet article fournit des remarques supplémentaires à la documentation de référence de cette API.

La ProcessStartInfo classe spécifie un ensemble de valeurs utilisées lors du démarrage d’un processus.

Définir la propriété UseShellExecute à false vous permet de rediriger les flux d'entrée, de sortie et d'erreur.

Le mot « shell » dans ce contexte (UseShellExecute) fait référence à un interpréteur de commandes graphique (similaire à l’interpréteur de commandes Windows) plutôt qu’à des interpréteurs de commandes (par exemple, bash ou sh) et permet aux utilisateurs de lancer des applications graphiques ou d’ouvrir des documents.

Remarque

UseShellExecute doit être false si la propriété UserName n’est pas null ou une chaîne vide, ou une InvalidOperationException sera levée lors de l'appel de la méthode Process.Start(ProcessStartInfo).

Lorsque vous utilisez l’interpréteur de commandes du système d’exploitation pour démarrer des processus, vous pouvez démarrer n’importe quel document (qui est tout type de fichier inscrit associé à un exécutable disposant d’une action ouverte par défaut) et effectuer des opérations sur le fichier, telles que l’impression, à l’aide de l’objet Process . Vous pouvez exécuter uniquement des fichiers exécutables en utilisant l'objet UseShellExecute lorsque false est Process.

Remarque

UseShellExecute doit être true si vous définissez la ErrorDialog propriété sur true.

WorkingDirectory

La WorkingDirectory propriété se comporte différemment en fonction de la valeur de la UseShellExecute propriété. Quand UseShellExecute est true, la propriété WorkingDirectory spécifie l’emplacement de l’exécutable. S’il WorkingDirectory s’agit d’une chaîne vide, il est supposé que le répertoire actif contient l’exécutable.

Quand UseShellExecute est false, la propriété WorkingDirectory n'est pas utilisée pour rechercher l’exécutable. Au lieu de cela, il est utilisé uniquement par le processus démarré et a une signification uniquement dans le contexte du nouveau processus. Quand UseShellExecute est false, la propriété FileName peut être soit un chemin complet vers l’exécutable, soit un nom simple d'exécutable que le système tentera de trouver dans les dossiers définis par la variable d'environnement PATH. L’interprétation du chemin de recherche dépend du système d’exploitation. Pour plus d’informations, entrez HELP PATH ou man sh à l’invite de commandes.