Вы находитесь на странице: 1из 1

#include<windows.

h>
#include<stdio.h>

CTRL Signal C, C++

BOOL CTRL_Handler(DWORD fdwCtrlType){


switch(fdwCtrlType){
// CTRL+C signal.
case CTRL_C_EVENT:
printf("You press CTRL+C\n\n");
Beep(750,300);
return(TRUE);
// CTRL+BREAK signal
case CTRL_BREAK_EVENT:
printf("You press CTRL+Break\n\n");
Beep(750,300);
return(TRUE);
//CTRL Signal System process console
default:
return FALSE;
}
}//end of Ctrl handler

int main(){
if(SetConsoleCtrlHandler((PHANDLER_ROUTINE)CTRL_Handler,TRUE)){
printf( "\nThe Control Handler is installed.\n" );
printf( "\n -- Now try pressing Ctrl+C or Ctrl+Break,");
printf( "\n -- This Program will not terminate.\n\n");
while(1){} //Loop for holding user press again
}
return 0;
}
if(SetConsoleCtrlHandler((PHANDLER_ROUTINE)CTRL_Handler,TRUE))

process Console Ctrl Signal


Ctrl List C Programmer
SetConsoleCtrlHandler Ctrl+Break IDE
Editor C,C++ (Terminate) Lab 1 9 Lab

Computer Engineering Lab. User
Programmer Cosole Ctrl+Break, Ctrl+C
Ctrl signal 1 Return type BOOL
type DWORD ( Ctrl signal) PHANDLER_ROUTINE
List Ctrl process console Ctrl signal Handler
casting PHANDLER_ROUTINE
((PHANDLER_ROUTINE)CTRL_Handler,TRUE) TRUE handler
CTRL_Handler() return type BOOLEAN (TRUE)
Process console Ctrl Signal Process console
Handler case default return FALSE ctrl signal
Handler .........................................................................

MSDN Microsoft : Phiokham Suriya(POK)


CPE.8/RMUTI

Вам также может понравиться