核心代码如下:

Process p = new Process();
p.StartInfo.FileName = filePath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
string txt = p.StandardOutput.ReadToEnd();
this.textBox1.Invoke(new EventHandler(delegate
{
this.textBox1.Text +="\r\n"+ txt;
}));
p.WaitForExit();
p.Close();
p.Dispose();

this.textBox1.Invoke(new EventHandler(delegate
{
this.textBox1.Text += "\r\n\r\n文件(" + filePath + ")执行结束";
}));

因为批处理文件时在线程里处理的,所以处理控件的时候需要invoke执行

c#执行bat批处理文件,并通过线程将结果显示在控件中的更多相关文章

  1. java 执行bat批处理文件 并关闭cmd窗口

    java 执行bat批处理文件 并关闭cmd窗口 import java.io.IOException; public class CmdMain { public static void main( ...

  2. WPF里面多线程访问UI线程、主线程的控件

    如果出现以下错误:调用线程无法访问此对象,因为另一个线程拥有该对象. 你就碰到多线程访问UI线程.主线程的控件的问题了. 先占位.

  3. C#--副线程调用主线程的控件

    1.取消线程安全保护模式     在程序初始化的时候对要操作的控件设置下面的属性:     System.Windows.Forms.Control.CheckForIllegalCrossThrea ...

  4. WinForm中新开一个线程操作 窗体上的控件(跨线程操作控件)

    最近在做一个winform的小软件(抢票的...).登录窗体要从远程web页面获取一些数据,为了不阻塞登录窗体的显示,开了一个线程去加载数据远程的数据,会报一个错误"线程间操作无效: 从不是 ...

  5. InvokeHelper,让跨线程访问/修改主界面控件不再麻烦(转)

    http://bbs.csdn.net/topics/390162519 事实上,本文内容很简单且浅显,所以取消前戏,直接开始.. 源代码:在本文最后 这里是一张动画,演示在多线程(无限循环+Thre ...

  6. winform WebBrowser控件中,cs后台代码执行动态生成的js

    很多文章都是好介绍C# 后台cs和js如何交互,cs调用js方法(js方法必须是页面上存在的,已经定义好的),js调用cs方法, 但如果想用cs里面执行动态生成的js代码,如何实现呢? 思路大致是这样 ...

  7. C# 执行bat批处理文件

    private void RunBat(string batPath) { Process pro = new Process(); FileInfo file = new FileInfo(batP ...

  8. MFC线程内操作主窗体 控件

    CWnd* h_d2 = AfxGetApp()->GetMainWnd(); //获取主窗口的句柄 h_d2-> GetDlgItem(IDC_EDIT2)->GetWindowT ...

  9. 后台线程下的WinFrom窗体控件操作 Invoke

    Invoke(new MethodInvoker(delegate { ControllerLogout(controller_id, is_successful, description, cont ...

随机推荐

  1. 样式PC和手机页面

    /*媒体查询--当页面大于1200px时*/ @media (min-width: 1200px) { } /*在922和1199像素之间的屏幕里,中等屏幕*/ @media (min-width: ...

  2. UIKit框架之UITouch

    1.继承链:NSObject 2.获取触发点的位置 (1)- (CGPoint)locationInView:(UIView *)view :返回指定视图的触发点的位置 (2)- (CGPoint)p ...

  3. NOIP 考前 KMP练习

    BZOJ 1461 && BZOJ 1729 KMP+BIT 一看就是字符串匹配但是不同的是要按照每个字符的排名情况. 首先对于数字x的排名,那么要判断x前小于x的数的个数,和x前小于 ...

  4. meta头部标签意义作用!

    1.<meta name="viewport" id="viewport" content="width=device-width, initi ...

  5. Kruskal算法

    1.基本思想:设无向连通网为G=(V, E),令G的最小生成树为T=(U, TE),其初态为U=V,TE={ },然后,按照边的权值由小到大的顺序,考察G的边集E中的各条边.若被考察的边的两个顶点属于 ...

  6. 微信小程序开发技巧及填坑记录

    以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add pag ...

  7. 关于string,我今天科普的

    今天下午朋友讨论组上讨论一个关于string的问题,问题是这样的,string a="aaa";string b=a;a="bbb",为什么测试b的值不改变?之 ...

  8. C++ 中堆栈学习

  9. linux精确查找命令

    1. find命令 命令 功能:搜寻文件与目录 功能: 语法: 语法:find 目录名 选项 常用选项有: 常用选项有: -name filename按名字查找 按名字查找 -type x 查找类型为 ...

  10. listview的用法

    带标题和内容的 private String[] mtitle={"姓名","年龄","生日",};private String[] mar ...