Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada processo de console tem sua própria lista de funções de manipulador de controle que são chamadas pelo sistema quando o processo recebe um sinal CTRL+C, CTRL+BREAK ou CTRL+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 de HandlerRoutine adicionais chamando a função SetConsoleCtrlHandler . Essa 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 de manipulador em uma base chamada pela última 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 retornado indica se o sinal foi manipulado.
Um novo thread é iniciado dentro do processo de 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 de manipulador de controle, consulte Registrando uma função de 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.