¿Cómo puedo acceder y ejecutar una aplicación de consola desde un formulario de Windows, que es parte del mismo proyecto. Tengo un formulario de Windows y una aplicación de consola. Creo que puedo publicar la aplicación de la consola y luego usar Process.Start(path to console app)
, pero esto no es lo que quiero. Deseo acceder y usar el método Main
de la aplicación de consola en mi proyecto de formulario. Este método se ejecutaría con un clic en un botón.Llamando al método `Principal` de una aplicación de consola desde una aplicación de formulario (mediante un clic de evento)
Esto produce el siguiente error.
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();
}
Éstos son los métodos.
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) { }
No está claro lo que espera que suceda. Usted dice que no desea iniciar la aplicación de la consola como un proceso independiente, pero si invoca el método tal como está, obviamente no funcionará porque no está en una aplicación de consola. ¿Cómo se esperaría que 'Console.ReadKey()' se comporte en una aplicación WinForms? – Tudor
@Tudor Supongo que esa consola.ReadKey() no hará mucho en un formulario. De acuerdo, entonces no es posible que la aplicación de formulario llame a la aplicación de la consola abriendo otro proceso, que vendría del método principal de la aplicación de consola a la que se llama. – somethingSomething
@Tudor Cuando escribí la aplicación formulario formulario control de formulario (un botón) – somethingSomething