向CMD窗口发送CTRL+C

来源:互联网 发布:知乎 台北君悦酒店闹鬼 编辑:程序博客网 时间:2024/06/07 03:26

通过WNDOWS CMD运行某些程序时,需要按CTRL+C终止。编程时则需要自动发送CTRL+C到指定窗口,以下代码经实测可用。

注:假设PID为CMD运行窗口的进程ID。

{AttachConsole(PID); // attach to process consoleSetConsoleCtrlHandler(NULL, TRUE); // disable Control+C handling for our appGenerateConsoleCtrlEvent(CTRL_C_EVENT, 0); // generate Control+C eventHANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, PID);if (INVALID_HANDLE_VALUE == hProcess){return ;}WaitForSingleObject(hProcess, INFINITE);CloseHandle(hProcess);Sleep(2000); //等待2秒,以防止自身被关闭。FreeConsole();SetConsoleCtrlHandler(NULL, FALSE);}


0 0
原创粉丝点击