バッチファイルを開くc#winformを使用しています。 私は、ユーザーがwinformの "停止"ボタンを押してこのタスクを終了できるようにします。 問題は、バッチファイルの実行が完全に完了するまでwinformがフリーズすることです。 だから私は(Winフォームのfuncionalityを気にしない新しいスレッドを開くために私を有効に)バックグラウンドワーカーを使用:C#winformから頑強なタスクを終了します
private void bgw_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
string fileName = (string)e.Argument;
ExecuteTest(fileName);
}
を、私はに行くことに気づいた「デバッグ!」メッセージが、コマンドプロセスが死なない:
private void tsbStopRun_Click(object sender, EventArgs e)
{
Process prc1 = GetProcess("cmd");
KillProcess(prc1);
}
private Process GetProcess(string processName)
{
Process[] Prc = Process.GetProcessesByName(processName);
if (Prc.Length > 0)
return Prc[0];
else
return null;
}
private void KillProcess(Process prc)
{
if (prc != null)
{
prc.Kill();
MessageBox.Show("debug!");
}
}
を私はコマンドタスクを開き、停止ボタンをクリックすると、ところで、コマンドタスクが殺される...
はどのような背景を殺すことができます停止ボタンからの作業者のコマンドタスク...?