解决方法一:

  自己放一个文本框,改成黑色,然后输入命令,执行时,你Process.Start cmd ,此时CMD窗口不显示,然后,将CMD的返回值,再取出来,设回文本框。

  如何用这种方法实时获取cmd返回的数据,简单实现如下

 1     private void OutPutForm_Shown(object sender, EventArgs e)
2 {
3 Control.CheckForIllegalCrossThreadCalls = false;
4 process = new Process();
5 p.StartInfo.FileName = "cmd.exe";
6 p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动
7 p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
8 p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
9 p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
10 p.StartInfo.CreateNoWindow = true;//不显示程序窗口
11 process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
12 process.Start();//启动程序
13 process.BeginOutputReadLine();
14 }
15 private void OutputHandler(object sendingProcess,DataReceivedEventArgs outLine)
16 {
17 if (!String.IsNullOrEmpty(outLine.Data))
18 {
19 StringBuilder sb = new StringBuilder(this.textBox1.Text);
20 this.textBox1.Text = sb.AppendLine(outLine.Data).ToString();
21 this.textBox1.SelectionStart =this.textBox1.Text.Length;
22 this.textBox1.ScrollToCaret();
23 }
24 }

解决方法二:

  直接上代码

 1    [DllImport("User32.dll ", EntryPoint = "SetParent")]
2   private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
3   [DllImport("user32.dll ", EntryPoint = "ShowWindow")]
4   public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);
5   private void button3_Click(object sender, EventArgs e)
6   {
7     Process p = new Process();
8    p.StartInfo.FileName = "cmd.exe ";
9    p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;//加上这句效果更好
10    p.Start();
11    System.Threading.Thread.Sleep(100);//加上,100如果效果没有就继续加大
12   
13    SetParent(p.MainWindowHandle, panel1.Handle); //panel1.Handle为要显示外部程序的容器
14    ShowWindow(p.MainWindowHandle, 3);
15   }

  备注:记得引用 using System.Runtime.InteropServices;

c#嵌套CMD窗口的更多相关文章

  1. cmd窗口编码设置

    问题描述:不知道误操作了什么,导致cmd窗口的鼠标显示位置出现错位,如下: 现在要将鼠标位置调整回来. 使用工具:cmd. 操作步骤: 1.查看cmd属性可以看到 可以看到是UTF-8编码格式的,我们 ...

  2. 不显示cmd窗口运行jar包

    今天,打开导出的jar包,发现并不能运行,查看jar包中的META-INF文件夹下的MANIFEST.MF文件,发现MANIFEST.MF中并没有Main-Class,于是,就手动添加相应的信息,本项 ...

  3. CMD命令之 :修改windows的CMD窗口输出编码格式为UTF-8

    修改windows的CMD窗口输出编码格式为UTF-8 转载自 http://xuliduo.iteye.com/blog/639923 dos命令: chcp 65001  就是换成UTF-8代码页 ...

  4. CMD窗口如何调整大小 / 颜色

    Windows默认的命令行工具CMD暴丑无比..很多人都会因为这个原因去寻找漂亮的命令行工具.. 但是很多所谓的命令行工具并不能完美的支持到CMD.. 譬如 PowerCMD 或 Cmder 之流.. ...

  5. 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类

    一.背景 最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法. 二.测试过程 1.父类代码 pack ...

  6. [Skills] 在桌面打开一个BAT文件,CMD窗口不关闭

    每次开机都要取得本机IP,然后远程连接上去,屏幕太小,不好输入,想写个bat,执行就能看到IP,并且停留在cmd窗口上,想来简单,以前搜了好久没找到好的办法,今天找到一个贴子,竟然可以,呵呵!   以 ...

  7. CMD窗口正确显示UTF-8字符

     Go语言教程 http://yiibai.com/go/  CMD窗口正确显示UTF-8字符 http://www.360doc.com/content/13/0424/13/2569758_280 ...

  8. windows下配置环境变量时,在cmd窗口执行配置的命令时无效的原因

    一个原因肯定就是配置错误,这个就要自己仔细去检查了,如果确信配置正确,可能是你的cmd窗口在环境变量配置之前就打开的,在配置好环境变量之后,在cmd窗口执行命令是看不到效果的,可以关掉cmd窗口再重新 ...

  9. window的cmd窗口运行git

    般情况下,我们在 Window 下安装好 git 后,在运行里面打开 cmd 窗口,在里面直接运行 git --version ,会提示“不是内部或外部命令,也不是一个可运行的程序”. 要想在cmd窗 ...

随机推荐

  1. String字符串相关操作

    .length 字符串长度.equals 比较字符串.equalIgnoreCase 比较字符串不区别大小写.charAt 获取字符串指定下标位置的字符.contains 判断字符串内是否包含某字符串 ...

  2. Linux05 文件或目录的权限(ls、lsattr、chattr、chmod、chown、chgrp、file)

    一.查看文件或目录的权限:ls -al  文件名/目录名 keshengtao@LAPTOP-F9AFU4OK:~$ ls -al total drwxr-xr-x keshengtao keshen ...

  3. 18.Python略有小成(collections模块,re模块)

    Python(collections模块,re模块) 一.collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据 ...

  4. 46 容器(五)——Vector,线程安全版的ArrayList

    在List中,最常用的三个List为: ArrayList 频繁查询时推荐使用 LinkedList 频繁增删时推荐使用 Vector 线程安全时推荐使用 Vector的底层跟ArrayList相差无 ...

  5. 17 IO流(十四)——Print流

    PrintStream流 PrintStream作为一个包装流,它可以包装字节流,甚至可以使用指定的文件创建一个打印流.它的构造函数很丰富,建议打开API看一下. 它常用的方法是print方法与pri ...

  6. 【微信小程序学习笔记】入门与了解

    [微信小程序学习笔记(一)] IDE 下载安装 下载地址 官方工具:https://mp.weixin.qq.com/debug/w … tml?t=1476434678461 下载可执行文件后,可按 ...

  7. vue --- axios拦截器+form格式请求体

    在vue2.x中使用CLI生成的模板有很大改变,需要自己手动在main.ts同级目录下新建interceptors.ts interceptors.ts import axios from 'axio ...

  8. Elasticsearch-6.7.0系列(七)SpringCloud连接ES集群,使用ES用户名密码

    pom.xml代码: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  9. 编译基于obs-studio的阿里巴巴直播工具tblive的过程和常见问题解决

    tblive 简介 tblive开源项目对应的产品是千牛主播,是一个独立的PC端主播工具,基于开源软件OBS Studio来修改定制. 项目说明 tblive是一款优秀的基于obs-studio的直播 ...

  10. C# CheckBoxList绑定值,设置及获取

    前端页面:.aspx <asp:CheckBoxList ID="ckbdot" runat="server" RepeatDirection=" ...