Sdílet prostřednictvím


Obslužné rutiny ovládacích prvků konzoly

Každý proces konzoly má vlastní seznam funkcí obslužné rutiny ovládacích prvků, které systém volá, když proces obdrží signál CTRL+C, CTRL+BREAK nebo CTRL+CLOSE . Seznam obslužných rutin ovládacích prvků pro každý proces zpočátku obsahuje pouze výchozí funkci obslužné rutiny, která volá funkci ExitProcess . Proces konzoly může přidat nebo odebrat další funkce HandlerRoutine voláním SetConsoleCtrlHandler funkce. Tato funkce nemá vliv na seznamy obslužných rutin řízení pro jiné procesy. Když proces konzoly přijme některý z řídicích signálů, volá funkce obslužné rutiny při posledním registrovaném prvním volání, dokud jeden z obslužných rutin nevrátí hodnotu TRUE. Pokud žádný z obslužných rutin nevrací hodnotu PRAVDA, je volána výchozí obslužná rutina.

Parametr dwCtrlType funkce určuje, který řídicí signál byl přijat, a návratová hodnota označuje, zda byl signál zpracován.

Uvnitř procesu klienta příkazového řádku se spustí nové vlákno, které spustí rutiny obslužné rutiny. Další informace o hodnotách časového limitu a akci tohoto vlákna najdete v dokumentaci k funkci HandlerRoutine .

Příklad funkce obslužné rutiny ovládacího prvku naleznete v tématu Registrace funkce obslužné rutiny ovládacího prvku.

Všimněte si, že volání AttachConsole, AllocConsole nebo FreeConsole obnoví tabulku obslužných rutin ovládacích prvků v procesu klienta do počátečního stavu.