SetConsoleCtrlHandler (kernel32)
Last changed: -162.156.70.71

.
Summary

C# Signature:

[DllImport("kernel32.dll")]
static extern bool SetConsoleCtrlHandler(ConsoleCtrlDelegate HandlerRoutine,
   bool Add);

User-Defined Types:

// Delegate type to be used as the Handler Routine for SCCH
delegate Boolean ConsoleCtrlDelegate(CtrlTypes CtrlType);

// Enumerated type for the control messages sent to the handler routine
enum CtrlTypes : uint {
    CTRL_C_EVENT = 0,
    CTRL_BREAK_EVENT,
    CTRL_CLOSE_EVENT,  
    CTRL_LOGOFF_EVENT = 5,
    CTRL_SHUTDOWN_EVENT
}

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Nice example on MSDN in KeepAlive method description:

http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemGCClassKeepAliveTopic.asp

Alternative Managed API:

Do you know one? Please contribute it!

Documentation