Поделиться через


ProcessStartInfo Класс

Определение

Задает набор значений, используемых при запуске процесса.

public ref class ProcessStartInfo sealed
public sealed class ProcessStartInfo
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public sealed class ProcessStartInfo
type ProcessStartInfo = class
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type ProcessStartInfo = class
Public NotInheritable Class ProcessStartInfo
Наследование
ProcessStartInfo
Атрибуты

Примеры

В следующем примере кода показано, как использовать ProcessStartInfo класс для запуска Internet Explorer. URL-адреса назначения предоставляются в качестве ProcessStartInfo аргументов.

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

Комментарии

ProcessStartInfo используется вместе с компонентом Process . При запуске процесса с помощью Process класса у вас есть доступ к обработке сведений в дополнение к этому при присоединении к работающему процессу.

Класс можно использовать ProcessStartInfo для более эффективного контроля над запущенным процессом. Необходимо по крайней мере задать FileName свойство вручную или с помощью конструктора. Имя файла — это любое приложение или документ. Здесь документ определяется как любой тип файла, имеющий открытое или стандартное действие, связанное с ним. Зарегистрированные типы файлов и связанные с ними приложения для компьютера можно просмотреть с помощью диалогового окна "Параметры папки ", которое доступно через операционную систему. Кнопка "Дополнительно " приводит к диалоговому окне, показывающее, существует ли открытое действие, связанное с определенным зарегистрированным типом файла.

Кроме того, можно задать другие свойства, определяющие действия, выполняемые с этим файлом. Можно указать значение, определенное типу FileName свойства для Verb свойства. Например, можно указать "печать" для типа документа. Кроме того, можно указать Arguments значения свойств, которые будут аргументами командной строки для передачи в открытую процедуру файла. Например, если в FileName свойстве указано приложение текстового редактора, можно использовать Arguments свойство, чтобы указать текстовый файл, который будет открыт редактором.

Стандартные входные данные обычно являются клавиатурой, а стандартные выходные данные и стандартная ошибка обычно являются экраном монитора. Однако для получения входных данных из файла или другого устройства можно использовать RedirectStandardInputRedirectStandardOutputсвойства и RedirectStandardError свойства. Если вы используете StandardInputStandardOutputсвойства или StandardError свойства компонентаProcess, необходимо сначала задать соответствующее значение для ProcessStartInfo свойства. В противном случае система создает исключение при чтении или записи в поток.

UseShellExecute Задайте свойство, чтобы указать, следует ли запускать процесс с помощью оболочки операционной системы. Если UseShellExecute задано значение false, новый процесс наследует стандартные входные данные, стандартные выходные данные и стандартные потоки ошибок вызывающего процесса, если RedirectStandardOutputRedirectStandardInputтолько не заданы trueсвойства или RedirectStandardError свойства соответственно.

Значение любого ProcessStartInfo свойства можно изменить до момента запуска процесса. После запуска процесса изменение этих значений не влияет.

Это важно

Использование экземпляра этого типа с ненадежными данными является угрозой безопасности. Используйте этот объект только с доверенными данными. Дополнительные сведения см. в разделе Проверка всех входных данных.

Замечание

Этот класс содержит запрос ссылки на уровне класса, который применяется ко всем членам. Возникает SecurityException , когда непосредственный вызывающий объект не имеет разрешения на полное доверие. Дополнительные сведения о требованиях к безопасности см. в разделе "Требования ссылки".

Конструкторы

Имя Описание
ProcessStartInfo()

Инициализирует новый экземпляр ProcessStartInfo класса без указания имени файла, с которым нужно запустить процесс.

ProcessStartInfo(String, IEnumerable<String>)

Инициализирует новый экземпляр ProcessStartInfo класса и задает имя приложения, которое нужно запустить, и набор аргументов командной строки для передачи в приложение.

ProcessStartInfo(String, String)

Инициализирует новый экземпляр ProcessStartInfo класса, указывает имя файла приложения, с которым нужно запустить процесс, и задает набор аргументов командной строки для передачи приложению.

ProcessStartInfo(String)

Инициализирует новый экземпляр ProcessStartInfo класса и задает имя файла, например приложение или документ, с которым нужно запустить процесс.

Свойства

Имя Описание
ArgumentList

Возвращает коллекцию аргументов командной строки, используемых при запуске приложения. Строки, добавленные в список, не нужно экранировать ранее.

Arguments

Возвращает или задает набор аргументов командной строки, используемых при запуске приложения.

CreateNewProcessGroup

Возвращает или задает значение, указывающее, следует ли запускать процесс в новой группе процессов.

CreateNoWindow

Возвращает или задает значение, указывающее, следует ли запускать процесс в новом окне.

Domain

Возвращает или задает значение, определяющее домен, используемый при запуске процесса. Если это значение имеет значение null, UserName свойство должно быть указано в формате имени участника-участника.

Environment

Возвращает переменные среды, применяемые к этому процессу и его дочерним процессам.

EnvironmentVariables

Получает пути поиска для файлов, каталогов для временных файлов, параметров для конкретного приложения и других аналогичных сведений.

ErrorDialog

Возвращает или задает значение, указывающее, отображается ли диалоговое окно ошибки пользователю, если процесс не удается запустить.

ErrorDialogParentHandle

Возвращает или задает дескриптор окна, используемый при отображении диалогового окна ошибки для процесса, который не может быть запущен.

FileName

Возвращает или задает приложение или документ для запуска.

LoadUserProfile

Возвращает или задает значение, указывающее, должен ли профиль пользователя Windows загружаться из реестра.

Password

Возвращает или задает безопасную строку, содержащую пароль пользователя, используемый при запуске процесса.

PasswordInClearText

Возвращает или задает пароль пользователя в чистом тексте, который будет использоваться при запуске процесса.

RedirectStandardError

Возвращает или задает значение, указывающее, записываются ли выходные данные ошибки приложения в StandardError поток.

RedirectStandardInput

Возвращает или задает значение, указывающее, считываются ли входные данные для приложения из StandardInput потока.

RedirectStandardOutput

Возвращает или задает значение, указывающее, записываются ли текстовые выходные данные приложения в StandardOutput поток.

StandardErrorEncoding

Возвращает или задает предпочтительную кодировку для вывода ошибок.

StandardInputEncoding

Возвращает или задает предпочтительную кодировку для стандартных входных данных.

StandardOutputEncoding

Возвращает или задает предпочтительную кодировку для стандартных выходных данных.

UseCredentialsForNetworkingOnly

Возвращает или задает значение, указывающее, используются ли учетные данные пользователя только для сетевых ресурсов.

UserName

Возвращает или задает имя пользователя, используемое при запуске процесса. Если используется формат имени участника-участника-участника, user@DNS_domain_nameDomain свойство должно бытьnull.

UseShellExecute

Возвращает или задает значение, указывающее, следует ли использовать оболочку операционной системы для запуска процесса.

Verb

Возвращает или задает команду, используемую при открытии приложения или документа, указанного свойством FileName .

Verbs

Возвращает набор команд, связанных с типом файла, указанного свойством FileName .

WindowStyle

Возвращает или задает состояние окна, используемое при запуске процесса.

WorkingDirectory

UseShellExecute Если свойство имеет значение false, возвращает или задает рабочий каталог для запуска процесса. Когда UseShellExecute это trueпроисходит, получает или задает каталог, содержащий процесс, который будет запущен.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел