同じプロジェクトの一部であるWindowsフォームからコンソールアプリケーションにアクセスして実行するにはどうすればいいですか?私は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私はConsoleと仮定します。ReadKey()はフォーム上で多くを行いません。それでは、フォームアプリケーションがコンソールアプリケーションを呼び出すことはできないのですか?コンソールアプリケーションのメインメソッドから呼び出される別のプロセスが呼び出されます。 – somethingSomething
@ Tudor私はフォームアプリケーションを書いたときにフォームコントロール(ボタン)を – somethingSomething