用winform中,调用执行bat文件,那么当bat文件执行完成时,怎样来通知winform程序

解决方案 »

  1.   

    没懂
    或许bat可以输出一定的信息,winform中去获取
    也行高人知道bat批处理怎么和winform交互
      

  2.   

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

  3.   

    如果不想阻塞当前ui。你可以用多线程
    //创建个bat文件,就暂停,按键盘后结束,演示阻塞。
    File.WriteAllText("test.bat", "@pause");
    //调用shell启动批处理
    Process p = Process.Start("test.bat");
    //开始执行了。
    new Thread((ThreadStart)delegate
    {
        p.WaitForExit();
        //bat执行完毕,写你的代码好了。
    }).Start();
      

  4.   

    可用事件,借用一下楼上代码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)
            {
               //退出
            }