Come posso accedere ed eseguire un'applicazione console da un Windows Form, che fa parte dello stesso progetto. Ho un modulo di Windows e un'applicazione di console. Penso di poter pubblicare l'applicazione console e quindi utilizzare Process.Start(path to console app)
ma questo non è quello che voglio. Voglio accedere e utilizzare il metodo Main
dell'applicazione console nel mio progetto modulo. Questo metodo dovrebbe essere eseguito con un clic su un pulsante.chiamata `metodo Main` di un'applicazione console da un'applicazione modulo (da un evento di scatto del tasto)
Questo dà il seguente errore.
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();
}
Questi sono i metodi.
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) { }
Non è chiaro cosa ti aspetti che accada. Si dice che non si desidera avviare l'applicazione della console come processo autonomo, ma se si richiama il metodo così com'è, ovviamente non funzionerà perché non ci si trova in un'applicazione della console. Come ti aspetteresti che 'Console.ReadKey()' si comporti in un'app WinForms? – Tudor
@Tudor suppongo che sia Console.ReadKey() non avrebbe fatto molto su un modulo. OK, non è possibile per l'app form chiamare l'app della console che apre un altro processo, che verrebbe dal metodo principale della chiamata alla console. – somethingSomething
@Tudor Quando ho scritto il modulo di controllo app modulo (un pulsante) – somethingSomething