Form (MainForm)があります。MainFormには、 Editor.exeを呼び出すボタンがあります。exe 呼び出し元コードは次のように表示されます。
private void InsertEquaButtonClick(object sender, EventArgs e)
{
Process p = Process.Start(Editor.exe);
string test = p.ProcessName;
p.WaitForExit();
}
Editor.exeは別個の実行可能ファイルであり、ユーザー入力フォームを提供します。ユーザーがそのフォームに 1 つの画像ファイルを入力し、[OK] ボタンをクリックすると、フォームが閉じ、その画像が MainForm に配置されます。
OKボタンのコードは次のとおりです。
.......
encoder.Save(s);// Save image to MainForm
var processes = Process.GetProcessesByName("Editor");
foreach (Process proc in processes)
{
proc.CloseMainWindow(); // Propblem is here
// proc.Close();
}
..........
問題は、エディターで [OK] ボタンをクリックすると、すべてのアプリ (MainForm と Editor.exe) が閉じてしまうことです。
では、MainForm プロセス (親プロセス) を強制終了せずに Editor.exe (子プロセス) を強制終了するにはどうすればよいでしょうか。
私は試してみました:
proc.close()
と
pro.Kill()
と
...
しかし、それらは機能しません。
よろしくお願いします。