この問題を解決できることを願っています。
ボタンを使用してフォームからプロセスを起動し、プロセスが閉じるまで待機してフォームを再開します。問題は、プロセスが実行されているときにフォームをクリックできることですが、プロセスが閉じられるまで何もしません。たとえば、プロセスが実行されているときにボタンをもう一度クリックしてからプロセスを閉じると、実行中にボタンを押したときにプロセスが再び開始されます。
そのため、フォームをクリック可能にしたくありません。
コードは次のとおりです。
private void button1_Click(object sender, EventArgs e)
{
var something = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "something.exe"
}
};
if (File.Exists("something.exe"))
{
something.Start();
something.WaitForExit();
}
else
{
MessageBox.Show("Message.", "Title", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
私も試しました:
this.Enabled = false;
something.Start();
something.WaitForExit();
this.Enabled = true;
しかし、何らかの理由で、プロセスが閉じられるとフォームが最小化されます。
ありがとう。