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中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢? 方法:使用 ...
随机推荐
- Maven(十二)Maven 依赖详解
依赖的传递性 注意1:在Eclipise创建的Maven项目,若依赖eclipse空间中其他自己创建的 的项目时,此时并不会报错,但是当执行mvn compile命令时还是会显示缺失败.所以依赖的其他 ...
- ES10特性详解
摘要: 最新的JS特性. ES10 还只是一个草案.但是除了 Object.fromEntries 之外,Chrome 的大多数功能都已经实现了,为什么不早点开始探索呢?当所有浏览器都开始支持它时,你 ...
- 流程控制值while 循环
一.结束循环的两种方式 1. 修改条件tag=Truewhile tag: print(1) print(2) print(3) tag=False print(4) 2.while + break ...
- Windows中nvm使用
介绍:在两个项目且使用的node版本不一样时,维护多个版本的node, 安装:下载安装目录:https://github.com/coreybutler/nvm-windows/releasesnvm ...
- Easyui 修改|新增jquery-easyui icon图标
修改|新增jquery-easyui icon图标 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 修改配置文件 打开jquery-easyui-1.5.3\ ...
- win10的react native 开发环境搭建,使用Android模拟器
1.打开cmd的管理员模式,win+X,选择命令提示符(管理员)即可,运行如下命令: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\power ...
- Git:七、标签(tag)
1.创建标签:切换到需要打标签的分支 1)直接打在最新commit的版本上 git tag <tagname> 2)找到commit id git tag <tagname> ...
- ASP.NET没有魔法——ASP.NET MVC IoC代码篇
上一篇文章主要以文字的形式介绍了IoC及其在ASP.NET MVC中的使用,本章将从以下几点介绍如何使用代码在ASP.NET MVC中实现依赖注入: ● AutoFac及安装 ● 容器的创建 ● 创建 ...
- C#基础第六天
数组 方法 实现代码的重用 参数 返回值 注释 return 语法:[public] static 返回值类型 方法名([参数列表]){ 方法体;}public:访问修饰符,公开的,公共的s ...
- spring boot 中使用 jpa以及jpa介绍
1.什么是jpa呢?JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.12.jpa具有什么 ...