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中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢? 方法:使用 ...
随机推荐
- Request.Params
在开发中有时会用到Request.Params["id"]来获取参数,那么到底是从什么地方接收参数呢? 一般情况下,有三种方式进行参数传递1.GET 方式,通过url传递,如?id ...
- 【EF】CodeFirst Fluent API使用记录
我们在使用EF CodeFirst 模式生成数据库的时候进行表的代码映射关系可以采用注解模式和Fluent API模式.这里就是记录一下使用Fluent API进行表关系映射的方法. 注解模式: 回顾 ...
- MySQL中 and or 查询的优先级
这个可能是容易被忽略的问题,首选我们要清楚:MySQL中,AND的执行优先级高于OR.也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句.比如: select * from t ...
- Go中变量作用域的小坑
直接上一实例: package main import "fmt" func main(){ fmt.Println("for start") ; a < ...
- 【转】Android必备知识点- Android文件(File)操作
Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...
- 反射(4)反射性能问题:直接调用vs反射调用
很多人都说使用反射会有性能问题,那到底会比直接调用慢多少呢,下面就来测试一下. 直接调用vs反射调用 下面就来写个demo来验证下直接调用和反射调用的性能差异,代码如下: namespace Cons ...
- mysql过程函数的建立与使用
记一次数据库函数的学习:工作中接口出现问题,导致页面数据显示错误,跟踪代码查看,最后找到sql语句中,但是sql比较复杂,同时调用了大量的函数,以此记录mysql函数的学习. 首先创建一个函数 选择参 ...
- #WEB安全基础 : HTML/CSS | 文章索引
本系列讲解WEB安全所需要的HTML和CSS #WEB安全基础 : HTML/CSS | 0x0 我的第一个网页 #WEB安全基础 : HTML/CSS | 0x1初识CSS #WEB安全基础 : H ...
- Android 技能图谱学习路线
这里是在网上找到的一片Android学习路线,希望记录下来供以后学习 1Java 基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap ...
- wap2app(五)-- 微信授权登录以及踩过的坑
应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...