■
別のプロセスに対してCtrl+CやCtrl+Breakを送る方法。
これは、自分自身にはCtrl+Cが送信できることを利用している。
以下が簡単な処理の流れ
AllocConsole ★AllocConsoleを行うと AttachConsoleに失敗しても問題なくなるHACKコード FreeConsole ★即デタッチ AttachConsole ・プロセスのコンソールへアタッチ ここで失敗すると二度とアタッチできないので ↑の★のHACKコードが必要になる SetConsoleCtrlHandler(add) ・Ctrl+Cを送信する準備 GenerateConsoleCtrlEvent ・Ctrl+Cをコンソールへ送信する。 その際、自分はハンドラでtrueを返す事。 そうしないと自分も終わってしまう。 WaitForExit ・プロセスが終わるのを待つ。 Ctrl+Cが自分に来るまで待つ必要もある。 SetConsoleCtrlHandler(false) ・必ず最後にCtrl+Cを送信の後始末 FreeConsole ・必ず最後にコンソールからデタッチ