Как корректно завершить программу по процесс айди?
Здравствуйте, интересует вопрос, как корректно завершить программу по PID, например отправив CTRL+C (OS Windows)?
Пример, что оставил ниже плохо подходит, так как я понял, требует освободить сначала текущую консоль, подключить консоль процесса, отправить CTRL C и после подключить (или даже создать новую консоль). Думаю, могут возникнуть проблемы, так как данные действия будут выполняться в потоках.
AttachConsole(pid); // attach to process console
SetConsoleCtrlHandler(NULL, TRUE); // disable Control+C handling for our app
GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0); // generate Control+C event