我试过,如下方法可以获取:
#include <QtCore/QCoreApplication>
#include <windows.h>
#include <stdio.h>
BOOL HandlerRoutine(DWORD dwCtrlType)
{
switch (dwCtrlType)
{
case CTRL_C_EVENT:
printf("ctrl+c\n") ;
return TRUE;
case CTRL_CLOSE_EVENT:
printf("ctrl close\n") ;
return TRUE;
case CTRL_BREAK_EVENT:
printf("CTRL_BREAK_EVENT\n") ;
case CTRL_LOGOFF_EVENT:
printf("CTRL_LOGOFF_EVENT\n") ;
case CTRL_SHUTDOWN_EVENT:
printf("CTRL_SHUTDOWN_EVENT\n") ;
default:
return FALSE;
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
SetConsoleCtrlHandler((PHANDLER_ROUTINE)HandlerRoutine,TRUE);
return a.exec();
}