System.Diagnostics.Process 测试案例
1.System.Diagnostics.Process 执行exe文件
创建项目,编译成功后,然后把要运行的exe文件拷贝到该项目的运行工作目录下即可,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading; namespace MyProcess
{
class Program
{
static void Main(string[] args)
{
Process myProcess = new Process();
//获取当前工作目录
string strWorkDir = System.AppDomain.CurrentDomain.BaseDirectory;
//获取或设置一个值,该值指示是否使用操作系统 shell 启动进程。如果应在启动进程时使用 shell,
//则为 true;如果直接从可执行文件创建进程,则为 false。 默认值为 true
myProcess.StartInfo.UseShellExecute = true;
//获取或设置启动进程时使用的窗口状态
myProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
//获取或设置要启动的应用程序或文档
myProcess.StartInfo.FileName = strWorkDir + "DataBinding.exe";
//启动StartInfo属性指定的进程资源
myProcess.Start();
//本地计算机上运行的所有进程资源
Process[] myCurrProcess = Process.GetProcesses();
//遍历所有进程资源,找到关联进程
foreach (Process process in myCurrProcess)
{
if ( == process.ProcessName.CompareTo("DataBinding"))
{
Console.WriteLine("DataBinding.exe正在运行中");
}
}
Thread.Sleep();
//关闭关联的进程
myProcess.Kill();
}
}
}
2.System.Diagnostics.Process运行浏览器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading; namespace MyProcess
{
class Program
{
static void Main(string[] args)
{
Process.Start("http://www.baidu.com");
Process myProcess = new Process();
myProcess.StartInfo.FileName = "IEXPLORE.EXE";
myProcess.StartInfo.Arguments = "http://www.baidu.com";
myProcess.Start(); Thread.Sleep();
myProcess.Kill();
}
}
}
3.System.Diagnostics.Process打开Word文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading; namespace MyProcess
{
class Program
{
static void Main(string[] args)
{
string fileName = "D:\\201901151749.docx";
string winwordPath = "";
//判断系统中是否已经有Word实例在运行
Process[] wordProcesses = Process.GetProcessesByName("winword");
foreach(Process process in wordProcesses)
{
//如果有的话获得Winword.exe的完全限定名称
winwordPath = process.MainModule.FileName;
break;
}
Process wordProcess = new Process();
if(winwordPath.Length > )//如果有Word实例在运行,使用"/w"参数来强制启动新实例,并将文件名作为参数传递
{
wordProcess.StartInfo.FileName = winwordPath;
wordProcess.StartInfo.UseShellExecute = false;
wordProcess.StartInfo.Arguments = fileName + " /w";
}
else //如果没有Word实例运行,则打开fileNmae
{
wordProcess.StartInfo.FileName = fileName;
wordProcess.StartInfo.UseShellExecute = true;
} wordProcess.Start();
wordProcess.WaitForExit();//当前进程一直在等待,直到Word实例退出
wordProcess.Close();
}
}
}
System.Diagnostics.Process 测试案例的更多相关文章
- System.Diagnostics.Process.Start的妙用
我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...
- System.Diagnostics.Process 启动进程资源或调用外部的命令的使用
经常看到一些程序在保存为一个txt,或者excel的文件的时候,保存完毕立即打开, 启动程序或打开文件的代码 System.Diagnostics.Process.Start(System.IO.Pa ...
- System.Diagnostics.Process.Star的用法
System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如“控制 ...
- WPF中System.Diagnostics.Process.Start的妙用
我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...
- C# 之 System.Diagnostics.Process.Start的妙用
经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢? 方法:使用S ...
- C#——System.Diagnostics.Process.Start的妙用
我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...
- How to use System.Diagnostics.Process correctly
I’ve seen many a question on stackoverflow and other places about running a process and capturing it ...
- System.Diagnostics.Process 执行.EXE
分类: C#+WINFORM 2009-04-05 21:09 459人阅读 评论(0) 收藏 举报 我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打 ...
- (转)C# System.Diagnostics.Process.Start使用
经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢? 方法:使用 ...
随机推荐
- 我的AI之路
本篇文章会列出在学习AI的路上所读的一些书籍或者其他一些相关内容,主要是用来监督自己,希望自己能够在AI学习上坚持下去. <机器学习 - 周志华> 绪论本章以西瓜为例子,简单的介绍了机器学 ...
- Maven(十三)Maven统一声明版本号
情景:当使用Spring下的多个包时,为了方便版本号的统一管理,避免出现因不同版本号造成的错误,必须更改为统一的版本号,但是当项目过多时手动修改不方便,因此引入此标签可以方便进行统一的修改. pom. ...
- Activiti(二) springBoot2集成activiti,集成activiti在线设计器
摘要 本篇随笔主要记录springBoot2集成activiti流程引擎,并且嵌入activiti的在线设计器,可以通过浏览器直接编辑出我们需要的流程,不需要通过eclipse或者IDEA的actiB ...
- webpack入门教程--1
首先说什么是webpack:Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 然后因为webpack有不同的版本,所以 ...
- 网络最大流算法—最高标号预流推进HLPP
吐槽 这个算法.. 怎么说........ 学来也就是装装13吧.... 长得比EK丑 跑的比EK慢 写着比EK难 思想 大家先来猜一下这个算法的思想吧:joy: 看看人家的名字——最高标号预留推进 ...
- 安装完成Dynamics 365 CE后别忘了更改维护作业的运行时间
摘要: 微软动态CRM专家罗勇 ,回复309或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 安装完毕Dy ...
- 控制台程序读取Excel设置角色权限
摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复283或者20181118可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...
- 查看系统cpu性能top和多核cpu使用性能
1.使用top查看系统当前负载情况. 在显示过程 按P会按照cpu使用率排序,按M会按照内存占用率排序. 2.多核CPU上,每个核的使用率,使用 mpstat mpstat -P ALL 1 10 - ...
- Java list.remove( )方法需要注意的地方
List<Integer> integerList = new ArrayList<>(); 当我们要移除某个Item的时候 remove(int position):移除某个 ...
- 解决jest处理es模块
解决jest处理es模块 问题场景 项目使用jest进行测试时, 当引入外部库是es模块时, jest无法处理导致报错. Test suite failed to run Jest encounter ...