您的位置:首页 > 其它

向CMD窗口发送CTRL+C

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

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

{
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

HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, PID);
if (INVALID_HANDLE_VALUE == hProcess)
{
return ;
}
WaitForSingleObject(hProcess, INFINITE);
CloseHandle(hProcess);
Sleep(2000); //等待2秒,以防止自身被关闭。

FreeConsole();
SetConsoleCtrlHandler(NULL, FALSE);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: