C#操作.exe文件

1 Process proc = new Process();
2 proc.StartInfo.FileName = @"D:\Program Files\Foxmail\Foxmail.exe";
3 //可以用绝对路径
4 proc.StartInfo.Arguments = "";
5 proc.Start();

注意:使用 Process 类之前 要先添加命名空间

using System.Diagnostics;

辅车相依,唇亡齿寒。纵使晴明无雨色,入云深处亦沾衣。欲渡黄河冰塞川,将登太行雪满山。此曲只应天上有,人间那得几回闻。羁鸟恋旧林,池鱼思故渊。C# 启动外部程序的几种方法: 
1. 启动外部程序,不等待其退出。
2. 启动外部程序,等待其退出。
3. 启动外部程序,无限等待其退出。
4. 启动外部程序,通过事件监视其退出。

// using System.Diagnostics;
private string appName = "calc.exe";

/// <summary>
/// 1. 启动外部程序,不等待其退出
/// </summary>
private void button1_Click(object sender, EventArgs e)
{
  Process.Start(appName);
  MessageBox.Show(String.Format("外部程序 {0} 启动完成!", this.appName), this.Text, 
  MessageBoxButtons.OK, MessageBoxIcon.Information);
}

/// <summary>
/// 2. 启动外部程序,等待其退出
/// </summary>
private void button2_Click(object sender, EventArgs e)
{
  try
  {
  Process proc = Process.Start(appName);
  if (proc != null)
  {
  proc.WaitForExit(3000);
  if (proc.HasExited)
  MessageBox.Show(String.Format("外部程序 {0} 已经退出!", this.appName), this.Text, 
  MessageBoxButtons.OK, MessageBoxIcon.Information);
  else
  {
  // 如果外部程序没有结束运行则强行终止之。
  proc.Kill();
  MessageBox.Show(String.Format("外部程序 {0} 被强行终止!", this.appName), this.Text, 
  MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  }
}
}
  catch (ArgumentException ex)
  {
  MessageBox.Show(ex.Message, this.Text, 
  MessageBoxButtons.OK, MessageBoxIcon.Error);
  }
  }

/// <summary>
/// 3. 启动外部程序,无限等待其退出
/// </summary>
private void button3_Click(object sender, EventArgs e)
{
try
{
Process proc = Process.Start(appName);
if (proc != null)
{
proc.WaitForExit();
MessageBox.Show(String.Format("外部程序 {0} 已经退出!", this.appName), this.Text, 
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (ArgumentException ex)
{
MessageBox.Show(ex.Message, this.Text, 
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

/// <summary>
/// 4. 启动外部程序,通过事件监视其退出
/// </summary>
private void button4_Click(object sender, EventArgs e)
{
try
{
// 启动外部程序
Process proc = Process.Start(appName);
if (proc != null)
{
// 监视进程退出
proc.EnableRaisingEvents = true;
// 指定退出事件方法
proc.Exited += new EventHandler(proc_Exited);
}
}
catch (ArgumentException ex)
{
MessageBox.Show(ex.Message, this.Text, 
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

/// <summary>
/// 外部程序退出事件
/// </summary>
void proc_Exited(object sender, EventArgs e)
{
MessageBox.Show(String.Format("外部程序 {0} 已经退出!", this.appName), this.Text, 
MessageBoxButtons.OK, MessageBoxIcon.Information);
}

用C#调用CMD.exe,执行DOS命令,编码FLV

Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
string strOutput=null;
// p.StandardInput.WriteLine("cd D:\\flv\\mplayer");
// p.StandardInput.WriteLine("cd d:");
p.StandardInput.WriteLine(string.Format("D:\\flv\\mplayer\\mencoder \"c:\\vs.wmv\" -o \"c:\\output.flv\" -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate={0}:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050",200));

p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
Console.WriteLine(strOutput);
p.WaitForExit();
p.Close();

记得同时要导入:using System.Diagnostics;命名空间。祝你好运 
亦余心之所善兮,虽九死其犹未悔。夜阑卧听风吹雨,铁马冰河入梦来。临渊羡鱼,不如退而结网。醉卧沙场君莫笑,古来征战几人回!

时间: 2024-12-07 02:55:23

C#操作.exe文件的相关文章

window下批处理操作:bat文件中调用.bat和.exe文件

文件名test.bat rem 启动GTRManager.exe start cmd /k "D:\GTRManager_old\GTRECM\GTRManager.exe" ping 127.0.0.1 -n 10  rem 启动start.bat D: cd D:\v2r3c06spc100_spe_hutaf\HutafAgent start cmd /k "" call start.bat ping 127.0.0.1 -n 10  rem 启动agentW

system32下 exe文件作用

system32下EXE文件的作用说明 A accwiz.exe 辅助功能向导 ahui.exe 应用程序兼容用户界面 alg.exe 为 Internet 连接共享和 Internet 连接防火墙提供第三方协议插件的支持 append.exe 打开指定文件夹中的数据文件 arp.exe 显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表 asr_fmt.exe 自动恢复系统 asr_ldm.exe 逻辑磁盘管理器ASR功能 asr_pfu.exe 自动系统恢

关于win7系统中所有exe文件都被以word方式打开的解决方法

手残一刻,电脑桌面所有的软件快捷方式都变成了word的打开方式,鼠标右键选中某exe文件也没打开方式那个选项, 第一次尝试: 在控制面板——默认程序中修改默认打开方式,但是没有找到解决方法 第二次尝试: 万能的重启,你会发现,并没有卵用的…… 第三次尝试: 使用ctrl+alt+delete调出任务管理器,不要妄图使用在任务栏——右键——打开任务管理器,也同样只会是word方式打开,不停的报错,你想要关都关不掉,所以不用理会他,只管使用任务管理器,看到帖子上有人说:“结束掉explorer这个任

有关vs2010将c++生成exe文件时出现LINK : fatal error LNK1123: 转换到 COFF 期间失败和环境变量问题

不知怎么本来编译好好的VS2010环境,忽然出现"转换到 COFF 期间失败: 文件无效或损坏"的链接错误.花了好多天,试了好多方法,最终解决了这个问题.现在罗列一下这几种解决方案:方案1:点击"项目"-->"属性" --> "清单工具",然后选择"输入和输出' --> '嵌入清单',将后面的'是'改成'否'就可以了方案2:在VS安装目录搜索cvtres.exe搜索发现有两个cvtres.exe文件

VC6.0生成的exe文件图标

以下是我网上收到的方法 我都试过 成功不了 具体说下我遇到的问题 VC6.0生成的exe文件图标是用Icon下几个图标中value值最小的,顺序为IDR_MAINFRAME.IDR_ICONTETYPE.新加的,所以想更改生成的exe文件图标,只要保证图标的value值是Icon下几个图标中最小的就可以了. 如果生成的exe文件不想用VC自带的MFC图标,可以进行如下操作: 方法一.最简单的方法 1.在程序res文件夹下,删除MFC图标文件,加入自己的图标文件:([color=#FF0000][

JDK/bin目录下的不同exe文件的用途(转)

新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件执行Java应用程序代码 appletviewer(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器 javadoc:根据Java源代码及其说明语句生成的HTML文档 jdb:Java调试器,可以逐行地执行程序.设置断点和检查变量 javah:产生可以调用Java过程的C过程

Java 生成 exe 文件

Java程序打包成exe可执行文件,分为两大步骤. 第一步:将Java程序通过Eclipse或者Myeclipse导成Jar包 第二步:通过exe4j讲Jar包程序生成exe可执行文件 第一步详解: 将java程序生成Jar包 以下是Myeclipse导出Jar包,首先选择项目"右击" 点击"Export" 选择JAR file 只保留项目底下的src目录勾选,config和lib为配置文件及程序所需的Jar包 点击"next" 选择Main方法

C#操作Excel文件(转)

摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格. Excel以其功能强大,界面友好等受到了许多用户的欢迎.在设计应用系统时,对于不同的用户,他们对于打印的需求是不一样的,如果要使得程序中的打印功 能适用于每一个用户,可以想象程序设计是十分复杂的.由于Excel表格的功能强大,又由于几乎每一台机器都安装了

matlab生成exe文件

matlab生成exe文件 1 首先要将\MATLAB701\toolbox\compiler\deploy\win32 中MCRinstaller.exe 安装到该计算机上(7.0 以前的版本是mglinstaller.exe),若你的matlab是安装版本的,这个工具可能已经安装过了,就不用安装了:否则需要安装.2 在确定安装好MatlabCompiler后,还需要对Compiler 进行适当的配置,方法是在Matlab 命令窗口输入:Mbuild –setup然后根据提示执行相应的操作,使