CTRL+C and CTRL+BREAK Signals
The CTRL+C and CTRL+BREAK key combinations receive special handling by console processes. By default,
when a console window has the keyboard focus, CTRL+C or CTRL+BREAK is treated as a signal (SIGINT or SIGBREAK) and not as keyboard input. By
default, these signals are passed to all console processes that are attached to
the console, causing the system to call the control handler function or functions
associated with these processes. Detached processes (GUI processes or console
processes started with the DETACHED_PROCESS or CREATE_NEW_CONSOLE flag) are not
affected.
CTRL+BREAK is always treated as a signal, but an application can change the default CTRL+C behavior in two ways that prevent the handler functions from being called:
- The SetConsoleMode function can disable the ENABLE_PROCESSED_INPUT input mode for a console's
input buffer, so CTRL+C is reported as keyboard input rather than as a signal.
- When SetConsoleCtrlHandler is called with NULL and TRUE values for its parameters, the calling process
ignores CTRL+C signals. Normal CTRL+C processing is restored by calling SetConsoleCtrlHandler with NULL and FALSE values. This attribute of ignoring or not ignoring CTRL+C signals is inherited by child processes, but it can be enabled or disabled by
any process without affecting existing processes.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database