遇到个问题想发帖、发现积分不够、有高手路过指点一下吧!
2009-10-17 01:23
357 查看
创建CMD进程,并且不关闭,怎么样读取CMD中信息显示到控件上。
我想用线程启动一个CMD进程 CMD是监听程序 不关闭状态的情况下 读取CMD显示的信息 返回到我的textbox上显示
现在的情况就是 我可以启动CMD 但是要CMD停止后才能返回结果,还有就是CMD启动之后 不关闭 程序走不下去 不能读取结果。
有没有办法一直开启CMD 并且每秒读取CMD的信息显示到textbox上。最好使用2个线程 一个运行CMD,一个负责读取并且显示。
目前我写的部分代码 -----有问题
急 感谢各位高手的指点 给点思路吧。
//button事件 负责开启服务
private void button1_Click(object sender, EventArgs e)
{
//创建一个线程并且运行CMD进程方法
Thread t = new Thread(new ThreadStart(Cmd));
Thread s = new Thread(new ThreadStart(form));
Thread.Sleep(500);
t.Start();
s.Start();
}
//CMD方法
public void Cmd()
{
//CMD要执行的语句
string[] cmd = new string[] { "ping 192.168.1.1 -n", "ping 127.0.0.1 -t" };
//创建CMD进程并且配置
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
//启动进程,并且永不关闭。
p.Start();
p.StandardInput.AutoFlush = true;
for (int i = 0; i < cmd.Length; i++)
{
p.StandardInput.WriteLine(cmd[i].ToString());
}
}
//读取CMD显示的信息 并且调用显示消息方法、把信息传递给showMessage方法用来显示到textbox。
public void form()
{
string strRst = p.StandardOutput.ReadToEnd();
this.textBox1.BeginInvoke(new System.EventHandler(showMessage), strRst);
}
//在控件textbox上显示消息的方法
private void showMessage(object o, System.EventArgs e)
{
this.textBox1.Text = o.ToString();
}
我想用线程启动一个CMD进程 CMD是监听程序 不关闭状态的情况下 读取CMD显示的信息 返回到我的textbox上显示
现在的情况就是 我可以启动CMD 但是要CMD停止后才能返回结果,还有就是CMD启动之后 不关闭 程序走不下去 不能读取结果。
有没有办法一直开启CMD 并且每秒读取CMD的信息显示到textbox上。最好使用2个线程 一个运行CMD,一个负责读取并且显示。
目前我写的部分代码 -----有问题
急 感谢各位高手的指点 给点思路吧。
//button事件 负责开启服务
private void button1_Click(object sender, EventArgs e)
{
//创建一个线程并且运行CMD进程方法
Thread t = new Thread(new ThreadStart(Cmd));
Thread s = new Thread(new ThreadStart(form));
Thread.Sleep(500);
t.Start();
s.Start();
}
//CMD方法
public void Cmd()
{
//CMD要执行的语句
string[] cmd = new string[] { "ping 192.168.1.1 -n", "ping 127.0.0.1 -t" };
//创建CMD进程并且配置
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
//启动进程,并且永不关闭。
p.Start();
p.StandardInput.AutoFlush = true;
for (int i = 0; i < cmd.Length; i++)
{
p.StandardInput.WriteLine(cmd[i].ToString());
}
}
//读取CMD显示的信息 并且调用显示消息方法、把信息传递给showMessage方法用来显示到textbox。
public void form()
{
string strRst = p.StandardOutput.ReadToEnd();
this.textBox1.BeginInvoke(new System.EventHandler(showMessage), strRst);
}
//在控件textbox上显示消息的方法
private void showMessage(object o, System.EventArgs e)
{
this.textBox1.Text = o.ToString();
}
相关文章推荐
- 建立系统公用类时遇到一个问题!请哪位高手帮忙指点一下!谢了!!!
- 新手学jsp遇到问题了,各位高手帮忙解决一下
- 一个js Tree 的问题,当id为整数时,可以获得值,当id为“ff100”的数字字母混合是就出现错误,请高手指点一下
- 在做项目时偶尔会遇到这样的问题,有点感觉莫名其妙,也不是什么具体程序的错误,那倒时好发现。感觉无从下手,所以就从CSDN上狠搜了一下,有了感觉了之从记载下来以免看好!
- 使用网页文本编辑器的问题,请高手指点一下
- 关于Base使用的问题(希望高手路过能指点一二,十分感谢)
- 关于我在编程和调试过程中的一点点问题,请各位高手给指点一下!
- 用命令调试蓝牙遇到的问题,求高手指点
- 用命令调试蓝牙遇到的问题,求高手指点
- 堆栈溢出的异常问题,本人新手菜鸟,请各位高手指点一下啊!
- 今天写链表时候遇到的问题,请高手解答一下
- 最近遇到一个问题,哪位高手能帮忙解答一下
- BigDecimal四舍五入和转double遇到的问题,结果想不明白,是bug呢,还是另有深意,望高手指点
- 对cookie操作的时候遇到了一些的 删除、修改、查询不了问题,看来篇文章发现不错,抓一下
- mark一下遇到的问题
- 从现在开始学习一下在 Office 平台上进行开发一些简单的应用程序,欢迎有从事这方面的高手和同道指点交流。
- 总结一下使用Swift遇到的几个小问题和几个小知识点
- 最近学习过程中遇到的问题,记录一下
- 数据结构 栈问题(在TC能运行,但是是死循环,请高手帮忙调试一下,谢谢~)
- [企业管理]我父亲遇到的一个黑心老板的经历,谈一下工伤赔偿的问题