Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1946244
  • 博文数量: 221
  • 博客积分: 10045
  • 博客等级: 上将
  • 技术积分: 2252
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-25 20:28
文章分类

全部博文(221)

文章存档

2012年(1)

2008年(4)

2007年(11)

2006年(26)

2005年(179)

我的朋友

分类:

2005-01-26 13:46:24

使用Process对象:  
System.Diagnostics.Process  p=new  System.Diagnostics.Process();  
p.StartInfo.FileName="arj.exe"  ;//需要启动的程序名  
p.StartInfo.Arguments="-x  sourceFile.Arj  c:temp";//启动参数  
p.Start();//启动  
if(p.HasExisted)//判断是否运行结束  
 p.kill();

/*
*  编程语言:Visual  Studio  .NET  C#  (Beta  2)
*  作        者:迪泊威
*  功        能:通过C#程序调用  Windows  记事本程序  编辑一个
*  名为  test.txt  的文本文件。
*
*  在整个程序中  System.Diagnostics.Process.Start(Info)  
*  为主要语句。
*  如果只是单独执行一个外部程序,可用一条如下代码即可:
*  System.Diagnostics.Process.Start(
*  "外部程序名","启动参数");
*/

using  System;

class  test
{
static  void  Main()
{

//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();

//设置外部程序名
Info.FileName  =  "notepad.exe";

//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments  =  "test.txt";

//设置外部程序工作目录为  C:
Info.WorkingDirectory  =  "C:";

//声明一个程序类
System.Diagnostics.Process  Proc  ;

try
{
//
//启动外部程序
//
Proc  =  System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception  e)
{
Console.WriteLine("系统找不到指定的程序文件。r{0}",  e);
return;
}

//打印出外部程序的开始执行时间
Console.WriteLine("外部程序的开始执行时间:{0}",  Proc.StartTime);

//等待3秒钟
Proc.WaitForExit(3000);

//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited  ==  false)
{
Console.WriteLine("由主程序强行终止外部程序的运行!");
Proc.Kill();
}
else
{
Console.WriteLine("由外部程序正常退出!");
}
Console.WriteLine("外部程序的结束运行时间:{0}",  Proc.ExitTime);
Console.WriteLine("外部程序在结束运行时的返回值:{0}",  Proc.ExitCode);
}
}

本栏文章
阅读(1464) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~