ProcessStartInfo 类
定义
- 命名空间:
- System.Diagnostics
- 程序集:
- System.Diagnostics.Process.dll
指定启动进程时使用的一组值。
public sealed 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();
}
}
}
注解
ProcessStartInfo 与 Process 组件一起使用。 使用 Process 类启动进程时,除了附加到正在运行的进程时可用的进程信息外,还可以访问该信息。
可以使用 ProcessStartInfo 类更好地控制启动的过程。 必须至少手动或使用 构造函数设置 FileName 属性。 文件名是任何应用程序或文档。 此处,文档定义为具有与之关联的打开或默认操作的任何文件类型。 可以使用“ 文件夹选项 ”对话框(可通过操作系统使用)查看计算机的已注册文件类型及其关联的应用程序。 “ 高级 ”按钮将打开一个对话框,显示是否存在与特定已注册文件类型关联的打开操作。
此外,还可以设置其他属性,用于定义要对该文件执行的操作。 可以指定特定于属性的属性FileNameVerb类型的值。 例如,可以为文档类型指定“打印”。 此外,还可以将属性值指定 Arguments 为要传递给文件的打开过程的命令行参数。 例如,如果在 属性中 FileName 指定文本编辑器应用程序,则可以使用 Arguments 属性指定要由编辑器打开的文本文件。
标准输入通常是键盘,标准输出和标准错误通常是监视器屏幕。 但是,可以使用 RedirectStandardInput、 RedirectStandardOutput和 RedirectStandardError 属性使进程从文件或其他设备获取输入或返回输出。 如果在组件上使用 StandardInputProcess 、 StandardOutput或 StandardError 属性,则必须先在 属性上ProcessStartInfo设置相应的值。 否则,在读取或写入流时,系统会引发异常。
UseShellExecute设置 属性以指定是否使用操作系统 shell 启动进程。 如果 UseShellExecute 设置为 ,则新进程继承调用进程的标准输入、标准输出和标准错误流,除非 RedirectStandardOutputRedirectStandardInput、 或 RedirectStandardError 属性分别设置为 true。false
可以在进程启动时更改任何 ProcessStartInfo 属性的值。 启动该过程后,更改这些值不起作用。
备注
此类包含在类级别应用于所有成员的链接要求。 SecurityException当直接调用方没有完全信任权限时,将引发 。 有关安全要求的详细信息,请参阅 链接需求。
构造函数
| ProcessStartInfo() |
初始化 ProcessStartInfo 类的新实例,而不指定启动进程时使用的文件名。 |
| ProcessStartInfo(String) |
初始化 ProcessStartInfo 类的新实例,并指定启动进程时使用的诸如应用程序或文档的文件名。 |
| ProcessStartInfo(String, String) |
初始化 ProcessStartInfo 类的新实例,指定启动该进程时使用的应用程序文件名以及要传递给该应用程序的一组命令行自变量。 |
属性
| ArgumentList |
获取启动应用程序时要使用的命令行参数集合。 添加到列表的字符串无需先进行转义。 |
| Arguments |
获取或设置启动应用程序时要使用的一组命令行参数。 |
| CreateNoWindow |
获取或设置指示是否在新窗口中启动该进程的值。 |
| Domain |
获取或设置确定要在启动进程时使用的域的值。 如果此值为 |
| Environment |
获取应用于此进程及其子进程的环境变量。 |
| EnvironmentVariables |
获取文件的搜索路径、临时文件的目录、应用程序特定的选项和其他类似信息。 |
| ErrorDialog |
获取或设置指示不能启动进程时是否向用户显示错误对话框的值。 |
| ErrorDialogParentHandle |
获取或设置在为不能启动的进程显示错误对话框时要使用的窗口句柄。 |
| FileName |
获取或设置要启动的应用程序或文档。 |
| LoadUserProfile |
获取或设置指示是否从注册表加载 Windows 用户配置文件的值。 |
| Password |
获取或设置一个安全字符串,其中包含要在启动进程时使用的用户密码。 |
| PasswordInClearText |
获取或设置明文形式的用户密码以便在启动进程时使用。 |
| RedirectStandardError |
获取或设置指示是否将应用程序的错误输出写入 StandardError 流中的值。 |
| RedirectStandardInput |
获取或设置指示应用程序的输入是否从 StandardInput 流中读取的值。 |
| RedirectStandardOutput |
获取或设置指示是否将应用程序的文本输出写入 StandardOutput 流中的值。 |
| StandardErrorEncoding |
获取或设置错误输出的首选编码。 |
| StandardInputEncoding |
获取或设置标准输入的首选编码。 |
| StandardOutputEncoding |
获取或设置标准输出的首选编码。 |
| UserName |
获取或设置在启动进程时使用的用户名。 如果使用 UPN 格式, |
| UseShellExecute |
获取或设置指示是否使用操作系统 shell 启动进程的值。 |
| Verb |
获取或设置打开 FileName 属性指定的应用程序或文档时要使用的谓词。 |
| Verbs |
获取与 FileName 属性指定的文件类型关联的一组谓词。 |
| WindowStyle |
获取或设置启动进程时使用的窗口状态。 |
| WorkingDirectory |
当 UseShellExecute 属性为 |
方法
| 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 类的更多相关文章
- ZPL条码打印类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- WorldWind源码剖析系列:下载请求类DownloadRequest
下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadReques ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- windows7 阻止copyfile到windows目录的解决办法
一. windows7 x64,uac会阻止copyfile到c:/windows.提示拒绝访问. [会引起uac提示的3种情况: Administrator access token checks. ...
- 精通C#(第6版)
<精通C#(第6版)> 基本信息 原书名:Pro C# 5.0 and the .NET 4.5 framework,sixth edition 作者: (美)Andrew Troelse ...
- 创建线程(Background Thread)的N种方式
第一.Thread类 Thread类是实例化线程的主要方法:一个Thread实例管理一个线程,即执行序列.通过简单实例化一个对象,就可以创建一个线程,然后通过Thread对象提供的方法对线程进行管理. ...
- 执行CMD代码
/// <summary> /// 发送CMD命令(执行命令行) /// </summary> public static void SendCMD(string pwd) { ...
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...
- NET Core 跨平台执行命令、脚本
一.前言 我们可能会遇到需要在程序中执行一些系统命令,来获取一些信息:或者调用shell脚本..NET Core 目前已经可以跨平台执行,那么它如何跨平台执行命令呢,请看下面的讲解. 二.Proces ...
- 使用FFMPEG进行一些视频处理(C#)视频合并、转码、获取时长
FFMPEG的强大无需多说,举几个用到的功能,直接贴代码了 还有更多命令用到时搜索即可 视频转码 ) { var args = "-y -i {0} -vcodec copy {1}&quo ...
随机推荐
- 【直播预告】HarmonyOS 极客松赋能直播第六期:产品创新从哪里来?
- Spring Cloud 核心组件之Spring Cloud Zuul:API网关服务
Spring Cloud Zuul:API网关服务 SpringCloud学习教程 SpringCloud API网关 Spring Cloud Zuul 是Spring Cloud Netflix ...
- Python环境和PyCharm搭建教程
1.python下载和安装 1.访问Python 官网:https://www.python.org/ 2.以Windows为例,我们选择一个稳定的版本进行安装,这里需要注意选择和自己操作系统类型一致 ...
- three.js使用Instanced Draw+Frustum Cull+LOD来渲染大场景(开源)
大家好,本文使用three.js实现了渲染大场景,在移动端也有较好的性能,并给出了代码,分析了关键点,感谢大家~ 关键词:three.js.Instanced Draw.大场景.LOD.Frustum ...
- 力扣178(MySQL)-分数排名(中等)
题目: 表: Scores 编写 SQL 查询对分数进行排序.排名按以下规则计算: 分数应按从高到低排列.如果两个分数相等,那么两个分数的排名应该相同.在排名相同的分数后,排名数应该是下一个连续的整数 ...
- Web3开发者技术选型:前端视角(next.js)
引言 在现代Web开发的世界中,Web3技术的兴起为前端开发者开辟了新的可能性.Web3技术主要指的是建立在区块链基础上的分布式网络,使用户能够通过智能合约和去中心化应用(DApps)直接交互,而无需 ...
- AI让边缘更智能 边缘让AI无处不在
简介: 城市管理和城市服务逐步走向智能化,智慧化.到2019底,全国100%的副省级城市,95%以上的地级市,以及50%以上的县级市均提出建设新型智慧城市,并已经有32个主要城市成立了专门的大数据管 ...
- OpenKruise v0.10.0 版本发布:新增应用弹性拓扑管理、应用防护等能力
简介: 阿里云开源的云原生应用自动化管理套件.CNCF Sandbox 项目 -- OpenKruise,今天发布 v0.10.0 新版本,这也会是 OpenKruise v1.0 之前的最后一个 m ...
- [FAQ] Beego2.0.2 bee 生成的 api 项目运行 404, http server Running on http://:8080
Beego, bee version 2.0.2 https://github.com/beego/beego/issues/4363 Tool:AI 编程助手 Refer:Beego还流行吗 Lin ...
- Django之ajax简介
1.MTV与MVC 框架类型:MVC: M:models V:views C:controller Django用的框架就是MTV MTV: M:models T:templates V:views ...