Article ID: 134284
Article Last Modified on 11/21/2006
// Console Application
#include <windows.h>
#include <stdio.h>
BOOL WINAPI CtrlHandler (DWORD dwEvent);
void main (void)
{
printf ("Installing handler\n");
SetConsoleCtrlHandler (CtrlHandler, TRUE);
GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, 0);
GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, 0);
printf ("Removing handler\n");
SetConsoleCtrlHandler (CtrlHandler, FALSE);
}
BOOL WINAPI CtrlHandler (DWORD dwEvent)
{
switch (dwEvent)
{
case CTRL_C_EVENT:
printf("Got CTRL_C_EVENT\n");
break;
case CTRL_BREAK_EVENT:
printf("Got CTRL_BREAK_EVENT\n");
break;
case CTRL_LOGOFF_EVENT:
printf("Got CTRL_LOGOFF_EVENT\n");
break;
case CTRL_SHUTDOWN_EVENT:
printf("Got CTRL_SHUTDOWN_EVENT\n");
break;
case CTRL_CLOSE_EVENT:
printf("Got CTRL_CLOSE_EVENT\n");
break;
default:
// unknown type--better pass it on.
return (FALSE);
}
// Handled all known events
return (TRUE);
}
Additional query words: Windows win95
Keywords: kbbug kbconsole kbkernbase kbprogramming KB134284