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 |
Возвращает или задает значение, определяющее домен, используемый при запуске процесса. Если это значение имеет значение |
| Environment |
Возвращает переменные среды, применяемые к этому процессу и его дочерним процессам. |
| EnvironmentVariables |
Получает пути поиска для файлов, каталогов для временных файлов, параметров для конкретного приложения и других аналогичных сведений. |
| ErrorDialog |
Возвращает или задает значение, указывающее, отображается ли диалоговое окно ошибки пользователю, если процесс не удается запустить. |
| ErrorDialogParentHandle |
Возвращает или задает дескриптор окна, используемый при отображении диалогового окна ошибки для процесса, который не может быть запущен. |
| FileName |
Возвращает или задает приложение или документ для запуска. |
| LoadUserProfile |
Возвращает или задает значение, указывающее, должен ли профиль пользователя Windows загружаться из реестра. |
| Password |
Возвращает или задает безопасную строку, содержащую пароль пользователя, используемый при запуске процесса. |
| PasswordInClearText |
Возвращает или задает пароль пользователя в чистом тексте, который будет использоваться при запуске процесса. |
| RedirectStandardError |
Возвращает или задает значение, указывающее, записываются ли выходные данные ошибки приложения в StandardError поток. |
| RedirectStandardInput |
Возвращает или задает значение, указывающее, считываются ли входные данные для приложения из StandardInput потока. |
| RedirectStandardOutput |
Возвращает или задает значение, указывающее, записываются ли текстовые выходные данные приложения в StandardOutput поток. |
| StandardErrorEncoding |
Возвращает или задает предпочтительную кодировку для вывода ошибок. |
| StandardInputEncoding |
Возвращает или задает предпочтительную кодировку для стандартных входных данных. |
| StandardOutputEncoding |
Возвращает или задает предпочтительную кодировку для стандартных выходных данных. |
| UseCredentialsForNetworkingOnly |
Возвращает или задает значение, указывающее, используются ли учетные данные пользователя только для сетевых ресурсов. |
| UserName |
Возвращает или задает имя пользователя, используемое при запуске процесса. Если используется формат имени участника-участника-участника, |
| UseShellExecute |
Возвращает или задает значение, указывающее, следует ли использовать оболочку операционной системы для запуска процесса. |
| Verb |
Возвращает или задает команду, используемую при открытии приложения или документа, указанного свойством FileName . |
| Verbs |
Возвращает набор команд, связанных с типом файла, указанного свойством FileName . |
| WindowStyle |
Возвращает или задает состояние окна, используемое при запуске процесса. |
| WorkingDirectory |
UseShellExecute Если свойство имеет значение |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |