0

特定の CloseReason を定義するプロセスを閉じる必要があります。これは、CloseReason が WindowsShutDown である場合は閉じるフォームでチェックを終了する必要があるプロセスが原因であり、それ以外の場合はプログラムを閉じます。

private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
  if (e.CloseReason != CloseReason.WindowsShutDown)
  {
    e.Cancel = true;
    Hide();
  }
}

しかし、別のプログラムから私がこれを行う場合:

List<Process> pp = Process.GetProcessesByName("myProgram").ToList();
foreach (var p in pp)
{
  p.CloseMainWindow();
  p.WaitForExit();
}

しかし、プログラムは閉じられていません....

これどうやってするの?

4

1 に答える 1