Asp.NET中运行exe

private void usec(string userName,string realm,string Pwd)
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();
 
//设置外部程序名
Info.FileName  =  "cmd.exe";
string path=System.Configuration.ConfigurationSettings.AppSettings["chash"];
path=path.Replace("//","");
//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments  =  "/c /"createauth.exe "+userName+" "+realm+" "+Pwd+" > createauth/"";
 
//设置外部程序工作目录为  C:/
Info.WorkingDirectory  =path;
//Response.Write(path);
 
//声明一个程序类
System.Diagnostics.Process  Proc  ;
 
try
{
//启动外部程序
Proc  =  System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception  e)
{
Response.Write("系统找不到指定的程序文/r{0}"+e);
Response.End();
return;
}
//打印出外部程序的开始执行时间
//Response.Write("外部程序的开始执行时间:");
//等待10秒钟
Proc.WaitForExit(10000);
 
//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited  ==  false)
{
//Response.Write("由主程序强行终止外部程序的运行!");
Proc.Kill();
}
else
{
//Response.Write("由外部程序正常退出!"); 
}
}
 

------------------------------------------------------------------------------------------------------------------------------

/// <summary>
/// 运行外部程序
/// </summary>
/// <param name="exeName">程序路径</param>
/// <returns>0:失败,1:成功</returns>
public bool RunIt( string exeName )
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();
//设置外部程序名
Info.FileName  = exeName;
//声明一个程序类
try
{
System.Diagnostics.Process  Proc  ;
Proc  =  System.Diagnostics.Process.Start(Info);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 判断是否运行
/// </summary>
/// <param name="exeName">程序名</param>
/// <returns>0:没运行,1:运行中</returns>
public bool IsRun( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{
if ( myProcess.ProcessName == exeName )
{
isrunning = "1";
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 结束进程
/// </summary>
/// <param name="exeName">进程名</param>
/// <returns>0:失败,1:成功</returns>
public bool Kill( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{
if ( myProcess.ProcessName == exeName )
{
try
{
myProcess.Kill();
isrunning = "1";
}
catch
{
isrunning = "0";
}
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值