定义

命名空间:
System.Diagnostics
程序集:
System.Diagnostics.Process.dll

指定启动进程时使用的一组值。

C#复制

 
public sealed class ProcessStartInfo
继承

ProcessStartInfo

示例

下面的代码示例演示如何使用 ProcessStartInfo 类启动 Internet Explorer,并提供目标 URL 作为 ProcessStartInfo 参数。

C#复制

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

注解

ProcessStartInfo 与 Process 组件一起使用。 使用 Process 类启动进程时,除了附加到正在运行的进程时可用的进程信息外,还可以访问该信息。

可以使用 ProcessStartInfo 类更好地控制启动的过程。 必须至少手动或使用 构造函数设置 FileName 属性。 文件名是任何应用程序或文档。 此处,文档定义为具有与之关联的打开或默认操作的任何文件类型。 可以使用“ 文件夹选项 ”对话框(可通过操作系统使用)查看计算机的已注册文件类型及其关联的应用程序。 “ 高级 ”按钮将打开一个对话框,显示是否存在与特定已注册文件类型关联的打开操作。

此外,还可以设置其他属性,用于定义要对该文件执行的操作。 可以指定特定于属性的属性FileNameVerb类型的值。 例如,可以为文档类型指定“打印”。 此外,还可以将属性值指定 Arguments 为要传递给文件的打开过程的命令行参数。 例如,如果在 属性中 FileName 指定文本编辑器应用程序,则可以使用 Arguments 属性指定要由编辑器打开的文本文件。

标准输入通常是键盘,标准输出和标准错误通常是监视器屏幕。 但是,可以使用 RedirectStandardInput、 RedirectStandardOutput和 RedirectStandardError 属性使进程从文件或其他设备获取输入或返回输出。 如果在组件上使用 StandardInputProcess 、 StandardOutput或 StandardError 属性,则必须先在 属性上ProcessStartInfo设置相应的值。 否则,在读取或写入流时,系统会引发异常。

UseShellExecute设置 属性以指定是否使用操作系统 shell 启动进程。 如果 UseShellExecute 设置为 ,则新进程继承调用进程的标准输入、标准输出和标准错误流,除非 RedirectStandardOutputRedirectStandardInput、 或 RedirectStandardError 属性分别设置为 truefalse

可以在进程启动时更改任何 ProcessStartInfo 属性的值。 启动该过程后,更改这些值不起作用。

备注

此类包含在类级别应用于所有成员的链接要求。 SecurityException当直接调用方没有完全信任权限时,将引发 。 有关安全要求的详细信息,请参阅 链接需求

构造函数

ProcessStartInfo()

初始化 ProcessStartInfo 类的新实例,而不指定启动进程时使用的文件名。

ProcessStartInfo(String)

初始化 ProcessStartInfo 类的新实例,并指定启动进程时使用的诸如应用程序或文档的文件名。

ProcessStartInfo(String, String)

初始化 ProcessStartInfo 类的新实例,指定启动该进程时使用的应用程序文件名以及要传递给该应用程序的一组命令行自变量。

属性

ArgumentList

获取启动应用程序时要使用的命令行参数集合。 添加到列表的字符串无需先进行转义。

Arguments

获取或设置启动应用程序时要使用的一组命令行参数。

CreateNoWindow

获取或设置指示是否在新窗口中启动该进程的值。

Domain

获取或设置确定要在启动进程时使用的域的值。 如果此值为 null,则必须以 UPN 格式指定 UserName 属性。

Environment

获取应用于此进程及其子进程的环境变量。

EnvironmentVariables

获取文件的搜索路径、临时文件的目录、应用程序特定的选项和其他类似信息。

ErrorDialog

获取或设置指示不能启动进程时是否向用户显示错误对话框的值。

ErrorDialogParentHandle

获取或设置在为不能启动的进程显示错误对话框时要使用的窗口句柄。

FileName

获取或设置要启动的应用程序或文档。

LoadUserProfile

获取或设置指示是否从注册表加载 Windows 用户配置文件的值。

Password

获取或设置一个安全字符串,其中包含要在启动进程时使用的用户密码。

PasswordInClearText

获取或设置明文形式的用户密码以便在启动进程时使用。

RedirectStandardError

获取或设置指示是否将应用程序的错误输出写入 StandardError 流中的值。

RedirectStandardInput

获取或设置指示应用程序的输入是否从 StandardInput 流中读取的值。

RedirectStandardOutput

获取或设置指示是否将应用程序的文本输出写入 StandardOutput 流中的值。

StandardErrorEncoding

获取或设置错误输出的首选编码。

StandardInputEncoding

获取或设置标准输入的首选编码。

StandardOutputEncoding

获取或设置标准输出的首选编码。

UserName

获取或设置在启动进程时使用的用户名。 如果使用 UPN 格式,user@DNS_domain_name,则 Domain 属性必须为 null

UseShellExecute

获取或设置指示是否使用操作系统 shell 启动进程的值。

Verb

获取或设置打开 FileName 属性指定的应用程序或文档时要使用的谓词。

Verbs

获取与 FileName 属性指定的文件类型关联的一组谓词。

WindowStyle

获取或设置启动进程时使用的窗口状态。

WorkingDirectory

当 UseShellExecute 属性为 false 时,将获取或设置要启动的进程的工作目录。 当 UseShellExecute 为 true 时,获取或设置包含要启动的进程的目录。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)

GetHashCode()

作为默认哈希函数。

(继承自 Object)

GetType()

获取当前实例的 Type

(继承自 Object)

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
Xamarin.iOS 10.8
Xamarin.Mac 3.0

另请参阅

 
 

建议的内容

  • ProcessStartInfo.UseShellExecute 属性 (System.Diagnostics)

    获取或设置指示是否使用操作系统 shell 启动进程的值。

  • Process 类 (System.Diagnostics)

    提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。

  • Process.WaitForExit 方法 (System.Diagnostics)

    设置等待关联进程退出的时间段,并在该段时间结束前或该进程退出前,阻止当前线程执行。 若要避免妨碍当前线程,请使用 Exited 事件。 有关代码示例,请参阅 StandardError 和 ExitCode 属性参考页。

  • Process.StandardOutput 属性 (System.Diagnostics)

    获取用于读取应用程序文本输出的流。

  • Process.Start 方法 (System.Diagnostics)

    启动进程资源并将其与 Process 组件关联。

  • ProcessStartInfo.RedirectStandardOutput 属性 (System.Diagnostics)

    获取或设置指示是否将应用程序的文本输出写入 StandardOutput 流中的值。

  • Process.Kill 方法 (System.Diagnostics)

    强制终止基础进程。

  • ProcessStartInfo.Arguments 属性 (System.Diagnostics)

    获取或设置启动应用程序时要使用的一组命令行参数。

显示较少选项
 

ProcessStartInfo 类的更多相关文章

  1. ZPL条码打印类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. WorldWind源码剖析系列:下载请求类DownloadRequest

    下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadReques ...

  3. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  4. windows7 阻止copyfile到windows目录的解决办法

    一. windows7 x64,uac会阻止copyfile到c:/windows.提示拒绝访问. [会引起uac提示的3种情况: Administrator access token checks. ...

  5. 精通C#(第6版)

    <精通C#(第6版)> 基本信息 原书名:Pro C# 5.0 and the .NET 4.5 framework,sixth edition 作者: (美)Andrew Troelse ...

  6. 创建线程(Background Thread)的N种方式

    第一.Thread类 Thread类是实例化线程的主要方法:一个Thread实例管理一个线程,即执行序列.通过简单实例化一个对象,就可以创建一个线程,然后通过Thread对象提供的方法对线程进行管理. ...

  7. 执行CMD代码

    /// <summary> /// 发送CMD命令(执行命令行) /// </summary> public static void SendCMD(string pwd) { ...

  8. C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机

    using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...

  9. NET Core 跨平台执行命令、脚本

    一.前言 我们可能会遇到需要在程序中执行一些系统命令,来获取一些信息:或者调用shell脚本..NET Core 目前已经可以跨平台执行,那么它如何跨平台执行命令呢,请看下面的讲解. 二.Proces ...

  10. 使用FFMPEG进行一些视频处理(C#)视频合并、转码、获取时长

    FFMPEG的强大无需多说,举几个用到的功能,直接贴代码了 还有更多命令用到时搜索即可 视频转码 ) { var args = "-y -i {0} -vcodec copy {1}&quo ...

随机推荐

  1. Spring Cloud Config:外部集中化配置管理

    Spring Cloud Config:外部集中化配置管理 SpringCloud学习教程 SpringCloud Spring Cloud Config 可以为微服务架构中的应用提供集中化的外部配置 ...

  2. js es6系列——map函数

    正文 map,必要解释就是map不是地图的意思,而是映射的意思. 这里就简单的介绍了这个map了. array.map(callback,[ thisObject]); 看下这个案例后,我们发现了就发 ...

  3. Spark3.0 Standalone模式部署

    之前介绍过Spark 1.6版本的部署,现在最新版本的spark为3.0.1并且已经完全兼容hadoop 3.x,同样仍然支持RDD与DataFrame两套API,这篇文章就主要介绍一下基于Hadoo ...

  4. Oracle 在PL/SQL将字符串分割输出

    Oracle 在PL/SQL将字符串分割输出 示例如下: declare begin for maina in (select tt.line ll from (select regexp_subst ...

  5. 力扣59(java)-螺旋矩阵Ⅱ(中等)

    题目: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 输入:n = 3 输出:[[1,2,3],[8,9,4],[ ...

  6. HarmonyOS NEXT应用开发案例——列表编辑实现

    介绍 本示例介绍用过使用ListItem组件属性swipeAction实现列表左滑编辑效果的功能. 该场景多用于待办事项管理.文件管理.备忘录的记录管理等. 效果图预览 使用说明: 点击添加按钮,选择 ...

  7. 你的 Sleep 服务会梦到服务网格外的 bookinfo 吗

    简介: ASM 产品是基于社区 Istio 定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力.通过托管模式,解耦了 Istio 组件与所管理的 K8s 集群的生命周期管理 ...

  8. IT人的年夜饭,也太香了吧

    ​简介: 平时的IT人,奋战在修复bug前线,起早与贪黑齐飞,调休共假期待定.到了新春佳节,对于IT人来说,没有什么是比一顿年夜饭更让人熨贴肺腑的了.为了让废寝忘食编程序.闻机起早保运维的IT人过一个 ...

  9. 7.deployment扩容-查看pod使用的CPU-统计ready状态节点数量

    官方文档:https://kubernetes.io/zh-cn/docs/tasks/run-application/scale-stateful-set/题目1: 将名为loadbalancer的 ...

  10. 火山引擎A/B测试平台的实验管理重构与DDD实践

    本次分享的主题是火山引擎数智平台VeDI旗下的A/B测试平台 DataTester 实验管理架构升级与DDD实践.这里说明的一点是,代码的第一目标肯定是满足产品需求,能够满足产品需求的代码都是好代码. ...