Freigeben über


Konsolensteuerungs-Handler

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. Zunächst enthält die Liste der Steuerelementhandler 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 eines der Steuerungssignale empfängt, ruft er die Handlerfunktionen auf zuletzt registrierter, erst aufgerufener Basis auf, bis einer der Handler WAHR zurückgibt. Wenn keiner der Handler TRUE 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 für eine Steuerelementhandlerfunktion finden Sie unter Registrieren einer Steuerelementhandlerfunktion.

Beachten Sie, dass beim Aufrufen von AttachConsole, AllocConsole oder FreeConsole die Tabelle der Steuerelementhandler im Clientprozess auf den anfangszustand zurückgesetzt wird.