Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cada processo de console tem sua própria lista de funções do manipulador de controle que são chamadas pelo sistema quando o processo recebe um sinal CTRL+C, CTRL+BREAK ouCTRL+CLOSE . Inicialmente, a lista de manipuladores de controle para cada processo contém apenas uma função de manipulador padrão que chama a função ExitProcess . Um processo de console pode adicionar ou remover funções HandlerRoutine adicionais chamando a função SetConsoleCtrlHandler . Esta função não afeta as listas de manipuladores de controle para outros processos. Quando um processo de console recebe qualquer um dos sinais de controle, ele chama as funções do manipulador em uma base registrada pela última vez, chamada pela primeira vez até que um dos manipuladores retorne TRUE. Se nenhum dos manipuladores retornar TRUE, o manipulador padrão será chamado.
O parâmetro dwCtrlType da função identifica qual sinal de controle foi recebido e o valor de retorno indica se o sinal foi manipulado.
Um novo thread é iniciado dentro do processo do cliente de linha de comando para executar as rotinas do manipulador. Mais informações sobre os valores de tempo limite e a ação desse thread podem ser encontradas na documentação da função HandlerRoutine .
Para obter um exemplo de uma função do manipulador de controle, consulte Registrando uma função do manipulador de controle.
Observe que chamar AttachConsole, AllocConsole ou FreeConsole redefinirá a tabela de manipuladores de controle no processo do cliente para seu estado inicial.