向CMD窗口发送CTRL+C 只能第一次生效

来源:互联网 发布:淘宝网天天特价连衣裙 编辑:程序博客网 时间:2024/05/22 15:41



  1.   AttachConsole(PID); // attach to process console  
  2.   SetConsoleCtrlHandler(NULL, TRUE); // disable Control+C handling for our app  
  3.   GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0); // generate Control+C event  

应用程序未退出时,再次发送CTRL+C命令时,不相应, 

除非重启应用程序。。。


所以假如你有这个功能需要,控制cmd 程序中断,又不退出,     比如ffmpeg.exe        命令行程序,    

你可以再生成一个程序来控制, 然后这个kill掉生成的程序


 a(主)  call (b生成)  ->ctrl+c    cmd          kill   b