如何从Windows窗体(它是同一项目的一部分)访问和运行控制台应用程序。我有一个窗体和一个控制台应用程序。我认为我可以发布控制台应用程序,然后使用Process.Start(path to console app)
,但这不是我想要的。我想在我的表单项目中访问和使用控制台应用程序的Main
方法。这种方法只需点击一下按钮即可运行。从窗体应用程序调用控制台应用程序的Main方法(通过按钮单击事件)
这给出了以下错误。
InvalidOperationException was unhandled Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
private void buttonApplication_Click(object sender, EventArgs e)
{
Ch15Extra_2.Program.Main();
}
这里有方法。
ConsoleApp:
namespace Ch15Extra_2
{
public class Program
{
public static void Main()
{
Console.WriteLine("Here the app is running");
Console.ReadKey();
}
}
}
Form1中:
private void buttonApplication_Click(object sender, EventArgs e) { }
目前还不清楚你期望会发生什么。你说你不想作为一个独立的进程启动控制台应用程序,但是如果你按原样调用该方法,那么显然它不会工作,因为你不在控制台应用程序中。你会如何期待'Console.ReadKey()'在WinForms应用程序中运行? – Tudor
@Tudor我会想到那个控制台。ReadKey()在表单上不会做太多工作。好的,那么表单应用程序无法调用控制台应用程序来打开另一个进程,这个进程可能来自调用的控制台应用程序的主要方法。 – somethingSomething
@Tudor当我写表单应用程序I ment表单控件(一个按钮) – somethingSomething