我在b/s上要调用一个exe的程序,但是一旦调用我就无法控制它了,我怎样才能控制它呢?能控制到什么程度?我希望能在界面上显示Exe输出的错误,能包括正常和非正常的吗?在出错后我如何能关闭它。我现在的状况是:一旦我在b/s上调用了一个exe程序,如果exe出错了我就只能重起机器,毫无办法,连用任务管理器的关闭进程都无法关闭。真是急死人了!!!请各位大哥帮忙阿!!!
ps:好像启动第二个另外的进程,或用shell能做到,可我不熟悉这块,有大虾熟悉这块的请帮帮小第把,最好能有个例子,先谢了……。
ps:好像启动第二个另外的进程,或用shell能做到,可我不熟悉这块,有大虾熟悉这块的请帮帮小第把,最好能有个例子,先谢了……。
解决方案 »
- 实现页面上修改功能
- 一个网站二级域名怎么指定页面
- 好心人帮帮忙!怎样用extjs技术 把xml格式的字符串变成树
- 求救!swfupload做好之后再本机上iis部署没问题,在server2008中点击不管用
- 在div+css环境下大家都是用的什么语句来弹出提示窗口的?
- 为何下载完成后无法删除文件!
- 有没有办法把label搞了非常细小啊?
- 关于插于数据库的问题
- 关于datagrid的错误,错误号是REGDB_E_CLASSNOTREG(0x80040154)
- Asp.net中的e.Item.ItemIndex有什么用?
- asp.net 调用 COM.EXE 运行 EXE 文件问题,此问题已经困扰我二个月。(注意:不是权限问题)在线等答案!!
- 谁有关于作水晶报表的统计图的资料??高分求!急!急!
对了这个应用程序是用c编的,部署时放到了服务器端。
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
Info.FileName = "xxx.exe";
//设置外部程序的启动参数(命令行参数)为test.txt
//设置外部程序工作目录为 C:\
Info.WorkingDirectory = this.MapPath("")+"\\" ;
//声明一个程序类
System.Diagnostics.Process Proc ;
try
{
//
//启动外部程序
//
Proc = System.Diagnostics.Process.Start(Info); //启动子进程
}
catch
{
this.Labelerror.Text="系统找不到指定的程序文件!";
return;
}
//等待两小时
Proc.WaitForExit(54000000);
//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited == false)
{
this.Labelerror.Text="程序运行超时,由主程序强行终止程序的运行!请重新运行或与管理员联系!";
Proc.Kill();
return;
}
this.Labelerror.Text="程序运行成功!";
2,调用api,结束进程,(先运行你的exe程序,可以在管理器中找到进程名!)
1,捕获异常
2,调用api,结束进程,(先运行你的exe程序,可以在管理器中找到进程名!)
我怎样才能“捕获异常”?try…catch好像不行把?是否要启动另外一个进程来获得,子进程的错误消息。还望赐教。
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = “";
p.Start();调用了自已的一个exe可执行文件,
打开进程管理器,结果会看到启动了----说明调用成功,
但为什么不会弹出一个对话框呢?
---因为我的exe在启动时会弹出一个对话框。