Freigeben über


Konsolen-Bearbeitungssteuerelemente

Jeder Konsolenprozess verfügt über eine eigene Liste von Steuerelementhandlerfunktionen, die vom System aufgerufen werden, wenn der Prozess ein STRG+C-, STRG+BREAK- oder STRG+CLOSE-Signal empfängt. Anfänglich enthält die Handlerliste für jeden Prozess nur eine Standardhandlerfunktion, die die ExitProcess-Funktion aufruft. Ein Konsolenprozess kann zusätzliche HandlerRoutine-Funktionen hinzufügen oder entfernen, indem die SetConsoleCtrlHandler-Funktion aufgerufen wird. Diese Funktion wirkt sich nicht auf die Listen von Steuerelementhandlern für andere Prozesse aus. Wenn ein Konsolenprozess eins der Steuersignale empfängt, werden seine Handlerfunktionen der Reihe nach beginnend mit der zuletzt registrierten aufgerufen, bis einer der Handler WAHR zurückgibt. Wenn keiner der Handler WAHR zurückgibt, wird der Standardhandler aufgerufen.

Der dwCtrlType-Parameter der Funktion gibt an, welches Steuersignal empfangen wurde, und der Rückgabewert gibt an, ob das Signal verarbeitet wurde.

Ein neuer Thread wird innerhalb des Befehlszeilenclientprozesses gestartet, um die Handlerroutinen auszuführen. Weitere Informationen zu den Timeoutwerten und der Aktion dieses Threads finden Sie in der Dokumentation zur HandlerRoutine-Funktion.

Ein Beispiel finden Sie unter Registrieren einer Steuerelementhandler-Funktion.

Durch Aufrufen von AttachConsole, AllocConsole oder FreeConsole wird die Tabelle der Steuerelementhandler im Clientprozess auf den Ausgangszustand zurückgesetzt.