以下代码是一个项目的测试用例,调用外部的exe,exe放置在网站根目录下的ledExe文件夹下
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace ledTest
{
public partial class target : System.Web.UI.Page
{
string allOnExePath = string.Empty;
string allOffExePath = string.Empty;
string ledExePath = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
string para = Request.Params[0];
string bathPath = Request.PhysicalApplicationPath;
string exePath = bathPath + @"ledExe/";
allOnExePath = exePath + "ALLon.exe";
allOffExePath = exePath + "Alloff.exe";
ledExePath = exePath + "led.exe";
TextBox1.Text = exePath ;
switch (para)
{
case "allon":
//这里插入调用allon方法代码
allon();
;
break;
case "alloff":
alloff();
;
break;
case "led":
led();
;
break;
default :
// TextBox1.Text = "未接收到参数";
;
break;
}
}
protected void allon()
{
TextBox1.Text = "执行ALLon.exe";
startExe(allOnExePath, "9");
}
protected void alloff()
{
TextBox1.Text = "执行ALLoff.exe";
startExe(allOffExePath,"9");
}
protected void led()
{
TextBox1.Text = "执行led.exe";
startExe(ledExePath, "9 3 2 10");
}
protected void startExe(String para,String argu)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = para;//需要启动的程序名
p.StartInfo.Arguments = argu;//启动参数
try
{
p.Start();//启动
if (p.HasExited)//判断是否运行结束
{
p.Kill();
}
}
catch (Exception e1)
{
TextBox1.Text = "执行程序异常";
}
finally
{
}
}
}
}