Console::TreatControlCAsInput Property
Gets or sets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C) is treated as ordinary input or as an interruption that is handled by the operating system.
Assembly: mscorlib (in mscorlib.dll)
public: property bool TreatControlCAsInput { static bool get(); static void set(bool value); }
| Exception | Condition |
|---|---|
| IOException | Unable to get or set the input mode of the console input buffer. |
If the value of the TreatControlCAsInput property is false and Ctrl+C is pressed, the pressed keys are not stored in the input buffer and the operating system terminates the currently executing process. This is the default value.
Caution |
|---|
Use this property judiciously because setting it to true has such a dramatic effect. Most users expect Ctrl+C to terminate a console application. If you disable the effect of Ctrl+C, the user must remember to use Ctrl+Break to terminate the application, which is a less familiar key combination. |
The following example demonstrates the TreatControlCAsInput property.
using namespace System; void main() { ConsoleKeyInfo cki; // Prevent example from ending if CTL+C is pressed. Console::TreatControlCAsInput = true; Console::WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key."); Console::WriteLine("Press the Escape (Esc) key to quit: \n"); do { cki = Console::ReadKey(); Console::Write(" --- You pressed "); if((cki.Modifiers & ConsoleModifiers::Alt) != ConsoleModifiers()) Console::Write("ALT+"); if((cki.Modifiers & ConsoleModifiers::Shift) != ConsoleModifiers()) Console::Write("SHIFT+"); if((cki.Modifiers & ConsoleModifiers::Control) != ConsoleModifiers()) Console::Write("CTL+"); Console::WriteLine(cki.Key.ToString()); } while (cki.Key != ConsoleKey::Escape); } // This example displays output similar to the following: // Press any combination of CTL, ALT, and SHIFT, and a console key. // Press the Escape (Esc) key to quit: // // a --- You pressed A // k --- You pressed ALT+K // ► --- You pressed CTL+P // --- You pressed RightArrow // R --- You pressed SHIFT+R // --- You pressed CTL+I // j --- You pressed ALT+J // O --- You pressed SHIFT+O // § --- You pressed CTL+U }
for modifying safe top-level windows and subwindows. Associated enumeration: UIPermissionWindow::SafeTopLevelWindows
Available since 2.0
