各位大虾,如何在c#窗体程序中添加一个控制台应用程序,或者在控制台应用程序中添加窗体,详细一点 50
这个网上还挺多的啦。关键代码
private void btnExecute_Click(object sender, EventArgs e)
{
tbResult.Text = "";
ProcessStartInfo start = new ProcessStartInfo("Ping.exe");//设置运行的命令行文件问ping.exe文件,这个文件系统会自己找到
//如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
start.Arguments = txtCommand.Text;//设置命令参数
start.CreateNoWindow = true;//不显示dos命令行窗口
start.RedirectStandardOutput = true;//
start.RedirectStandardInput = true;//
start.UseShellExecute = false;//是否指定操作系统外壳进程启动程序
Process p=Process.Start(start);
StreamReader reader = p.StandardOutput;//截取输出流
string line = reader.ReadLine();//每次读取一行
while (!reader.EndOfStream)
{
tbResult.AppendText(line+" ");
line = reader.ReadLine();
}
p.WaitForExit();//等待程序执行完退出进程
p.Close();//关闭进程
reader.Close();//关闭流
}
我的问题我已经基本实现了,现在有新的问题,将动态生成的控件添加到panel里(panel非动态生成),然后用一个button_click 事件生成panel里的控件,全部删除就可以啦,谢谢
动态添加删除控件?
添加:TextBox tb = new TextBox();
this.panel1.Controls.Add(tb);
删除:int c = this.panel1.Controls.Count;
for(int i=0;i<c;i++)
this.panel1.Controls.RemoveAt(i);
static void Main(string[] args)
这里面的args就是你传递的参数,你可以在调用你的程序.exe 后面加参数这样程序里面读取args数组就能取得传递的参数了,明白了么?
简单的例子就是cmd里面调用 shutdown -s -t 60 这个就是调用了系统底层的shutdown指令并传递参数-s -t 60 设定1分钟后关机。
你可以在你的程序里面使用对方的exe并传递参数就好了
大哥,即使我懂你这句话,我还是不会操作。现在我在控制台程序(已经可以执行,需要一个关键词)中,新建一个窗体类,在窗体里添加了一个textbox(用于传递关键词给控制台程序),怎样操作呢?最好有代码
Process process = new Process();//实例
process.StartInfo.CreateNoWindow = false;//设定显示窗口
process.StartInfo.FileName = @"D:\你的控制台程序.exe"; //设定程序名,就是你的控制台程序的完整路径
process.StartInfo.Arguments = textbox.Value; //这里的参数就是你文本框里面的值
process.Start(); //开始执行控制台程序
process.WaitForExit(); //等待退出
process.Close(); //关闭process
懂了么? 把这段代码放到你的winform里面的onclick事件里面或者其他地方就能调用控制台程序了。
在加上我楼下的仁兄提供的输出流代码就可以实现输出结果了。
参考资料: 纯手打
参考资料: 纯手打
能不能详细一点?