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中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢? 方法:使用 ...
随机推荐
- [MySQL] timestamp和datetime的区别和大坑
1.timestamp占用4个字节;datetime占用8个字节2.timestamp范围1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999 ...
- 廖雪峰老师博客学习《通过生成器generator生成列表式杨辉三角》
说明:这是我接触生成器概念后,自己对它的理解,可能比较表面,没深入理解,也可能有错误.后续校正错误认知,将有关generator作为一个tag了! 希望以后能活用. 先贴出自己写的triangles( ...
- Js与jQuery的相互转换
$()与jQuery() jQuery中$函数,根据传入参数的不同,进行不同的调用,实现不同的功能.返回的是jQuery对象 jQuery这个js库,除了$之外,还提供了另外一个函数:jQuery j ...
- 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...
- android找不到aar包
转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/9939663.html 在做项目的时候引入aar包,编译的时候却提示错误(这个错误大概说的是...... ...
- ionic获取表单input的值的两种方法
1.参数传递法 直接在input处使用 #定义参数的name值,注意在ts中参数的类型 html页面: <ion-input type="text" placeholder= ...
- 章节九、2-使用firefoxdriver浏览器进行自动化测试
一.演示如何使用火狐浏览器打开“百度” package basicweb; import org.openqa.selenium.WebDriver; import org.openqa.seleni ...
- SQL Server实际执行计划COST"欺骗"案例
有个系统,昨天Support人员发布了相关升级脚本后,今天发现系统中有个功能不能正常使用了,直接报超时了(Timeout expired)的错误.定位到相关相关存储过程后,然后在优化分析的过程中,又遇 ...
- Saltstack_使用指南07_远程执行-执行模块
1. 主机规划 远程执行教程文档 https://docs.saltstack.com/en/latest/topics/tutorials/modules.html 所有模块文档 https://d ...
- python:过滤字符串中的字母数字特殊符号
今天遇到的字符串处理的问题,记录一下方便使用 str1 = input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 lowercase = 0 uppercase = 0 num ...