同编译器一样,在winform中要弹出控制台界面.如何实现?
1.试过把输出属性改为控制台程序,程序一运行就会弹出控制台界面,怎样才能控制控制台界面的弹出时机?
2.想过将一个console程序进程,在winform中包装,输入输出重定向到一个textbox,但好像也先要生成一个控制台程序的.(ProcessStartInfo p = new ProcessStartInfo(控制台程序);
我的想法不大对,想问问大侠们是怎么在winform中弹出控制台界面的?
1.试过把输出属性改为控制台程序,程序一运行就会弹出控制台界面,怎样才能控制控制台界面的弹出时机?
2.想过将一个console程序进程,在winform中包装,输入输出重定向到一个textbox,但好像也先要生成一个控制台程序的.(ProcessStartInfo p = new ProcessStartInfo(控制台程序);
我的想法不大对,想问问大侠们是怎么在winform中弹出控制台界面的?
解决方案 »
- png图片如何做类似PS的颜色叠加效果?
- 帮帮我呀————添加数据库数据
- listView 按列排序
- C#中,如何读取Word中的文本框对象内的文字?(普通的文字和表格内的我可以读到)
- WinCE中的CreateProcess()函数使用问题
- 从C#程序中调用非受管DLLs,关于属性[StructLayout(LayoutKind.Sequential)]
- 请用C#写过移动CMPP SP端的高手救俺
- 关于C#书籍求教
- 有没有办法判断待打印的word文档中需要多少黑墨水和彩色墨水?
- 求最新的国内ip地址分配表,要access形式最好
- 大家帮我推荐一个初学JAVA的书
- 各位学C#以后是往哪边发展比较好啊
是两个程序,一个是winform程序,一个是控制台程序。只不过在winform程序中启动那个控制台程序而已。两个程序之间能不能进行数据交换,我就不太清楚了。我想就算能,也不是直接进行的,而是通过一个别的什么机制实现的。
freopen("CONOUT$","w+t",stdout);//重定向标准输入
freopen("CONIN$","r+t",stdin);
Process p = new Process();p.StartInfo.FileName = @"cmd.exe";p.start();
Process p = new Process();
p.StartInfo.FileName = @"cmd.exe";
p.start();好像在form 中不能弹出cmd.exe来.
string getText(string cmdstr)
{
Process p = new Process();
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.WriteLine(cmdstr);
p.StandardInput.WriteLine("exit"); //这句可写可不写
return p.StandardOutput.ReadToEnd();
}像这样写成一个方法,就可以控制你想显示控制台的时间,因为只有当你调用的这个方法的时候它才会出现。如:
textBox1.Text = getText("nets");
能解释解释么?
p.StartInfo.FileName = @"cmd.exe";
你可以用process打开一个你编辑好的dos程序,当然这个dos程序肯定是cmd界面的,然后可以做输入输出的操作.
-----------------------------------------------------------------
我也知道,只要有一个控制台程序,我就能与我的winform交互,但这个控制台程序找不到,cmd弹出的是dos界面,不能识别console.write等命令.祝大家周末愉快,也希望我的问题周末能得到解决:)