关于C#执行bat文件

kylewell 2010-09-15 03:11:58
用winform中,调用执行bat文件,那么当bat文件执行完成时,怎样来通知winform程序
...全文
824 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
javabegin 2010-09-20
  • 打赏
  • 举报
回复
可用事件,借用一下楼上代码

static void Main(string[] args)
{
File.WriteAllText("test.bat", "@pause");
Process p = Process.Start("test.bat");
Console.WriteLine("正在执行");
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(pro_Exited);
p.WaitForExit();
Console.WriteLine("执行完毕");
Console.ReadKey();
}

void pro_Exited(object sender, EventArgs e)
{
//退出
}
兔子-顾问 2010-09-20
  • 打赏
  • 举报
回复
如果不想阻塞当前ui。你可以用多线程
//创建个bat文件,就暂停,按键盘后结束,演示阻塞。
File.WriteAllText("test.bat", "@pause");
//调用shell启动批处理
Process p = Process.Start("test.bat");
//开始执行了。
new Thread((ThreadStart)delegate
{
p.WaitForExit();
//bat执行完毕,写你的代码好了。
}).Start();
兔子-顾问 2010-09-20
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
File.WriteAllText("test.bat", "@pause");
Process p = Process.Start("test.bat");
Console.WriteLine("正在执行");
p.WaitForExit();
Console.WriteLine("执行完毕");
Console.ReadKey();
}
childrenhi 2010-09-20
  • 打赏
  • 举报
回复
我也很想知道,有谁可以教教啊。。。
kylewell 2010-09-15
  • 打赏
  • 举报
回复
高人在哪里
缭绕飘渺 2010-09-15
  • 打赏
  • 举报
回复
没懂
或许bat可以输出一定的信息,winform中去获取
也行高人知道bat批处理怎么和winform交互

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧