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 ...
随机推荐
- spring boot 配置文件占位符和多环境配置 [七]
配置文件占位符 person.last-name=zhangsan person.age=${random.int} person.birth=2017/12/15 person.boss=false ...
- 图像检索在高德地图POI数据生产中的应用
简介: 高德通过自有海量的图像源,来保证现实世界的每一个新增的POI及时制作成数据.在较短时间间隔内(小于月度),同一个地方的POI 的变化量是很低的. 作者 | 灵笼.怀迩 来源 | 阿里技术 ...
- 拒绝双写:巧用Lindorm数据订阅
简介: 本文介绍了双写场景的一致性问题,详细介绍了三种解决方案,并针对DB->Binlog->Kafka方案给出了Lindorm数据订阅的最佳实践 双写问题介绍 双写问题(Dual Wr ...
- 扎克伯格说,Llama3-8B还是太大了,量化、剪枝、蒸馏准备上!
扎克伯格说,Llama3-8B还是太大了,不适合放到手机中,有什么办法? 量化.剪枝.蒸馏,如果你经常关注大语言模型,一定会看到这几个词,单看这几个字,我们很难理解它们都干了些什么,但是这几个词对于现 ...
- The instance of entity type 'Model' cannot be tracked because another instance with the same key value for {'Id'} is already being tracked.
The instance of entity type 'Model' cannot be tracked because another instance with the same key val ...
- 请查收这份 6.3k star的 Java 攻城狮学习指南!
大家好,我是 Java陈序员. 自从一入 Java 开发的坑,可谓是每天过得神清气爽(水深火热). 每天不是被项目经理赶进度,就是被测试小姐姐追着改 Bug!都没有时间好好学习(摸鱼)了! 今天给大家 ...
- appium测试混合应用
最近用appium测试公司APP,APP是原生+H5的模式,测试过程中发现大部分H5的页面使用原生的方式可以进行操作,只有少部分H5页面的按钮虽然在uiautomatorviewer的界面能解析出来, ...
- TVM 中的 Profiler 设计
一.基本用法 首先看 Profiler 的用法: with ms.Profiler() as profiler: # .... 用户代码 print("Tuning Time:") ...
- Linux中的umask
在Linux中,当创建一个文件或者目录的时候,系统会自动为这个文件或者目录赋予默认的权限,而umask命令就是用来控制这个默认权限的. 查看umask umask的查看有两种方式,一种不带选项-S,一 ...
- WEB服务与NGINX(17)- https协议及使用nginx实现https功能
目录 1. https协议及使用nginx实现https功能 1.1 https协议概述 1.2 TLS/SSL协议原理 1.3 https的实现原理 1.4 使用openssl申请证书 1.5 ng ...