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


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 класс для запуска интернет-Обозреватель. Конечные URL-адреса предоставляются в виде ProcessStartInfo аргументов.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

// 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()
{
    // 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");
}

// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
void OpenWithStartInfo()
{
    ProcessStartInfo^ startInfo = gcnew ProcessStartInfo("IExplore.exe");
    startInfo->WindowStyle = ProcessWindowStyle::Minimized;
    Process::Start(startInfo);
    startInfo->Arguments = "www.northwindtraders.com";
    Process::Start(startInfo);
}

int main()
{
    // Get the path that stores favorite links.
    String^ myFavoritesPath = Environment::GetFolderPath(Environment::SpecialFolder::Favorites);
    OpenApplication(myFavoritesPath);
    OpenWithArguments();
    OpenWithStartInfo();
}
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 свойство , чтобы указать текстовый файл, который будет открыт редактором.

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

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

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

Важно!

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

Примечание

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

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

ProcessStartInfo()

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

ProcessStartInfo(String)

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

ProcessStartInfo(String, IEnumerable<String>)

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

ProcessStartInfo(String, String)

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

Свойства

ArgumentList

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

Arguments

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

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_name, свойство Domain должно иметь значение 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)

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

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