Compartilhar via


Função GenerateConsoleCtrlEvent

Envia um sinal especificado para um grupo de processos de console que compartilha o console associado ao processo de chamada.

Sintaxe

BOOL WINAPI GenerateConsoleCtrlEvent(
  _In_ DWORD dwCtrlEvent,
  _In_ DWORD dwProcessGroupId
);

Parâmetros

dwCtrlEvent [in]
O tipo de sinal a ser gerado. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
CTRL_C_EVENT 0 Gera um sinal CTRL+C. Esse sinal não pode ser limitado a um grupo do processo específico. Se dwProcessGroupId for diferente de zero, essa função será bem-sucedida, mas o sinal CTRL+C não será recebido por processos no grupo do processo especificado.
CTRL_BREAK_EVENT 1 Gera um sinal CTRL+BREAK.

dwProcessGroupId [in]
O identificador do grupo do processo para receber o sinal. Um grupo do processo é criado quando o sinalizador CREATE_NEW_PROCESS_GROUP é especificado em uma chamada da função CreateProcess. O identificador de processo do novo processo também é o identificador de grupo do processo de um novo grupo do processo. O grupo do processo inclui todos os processos que são descendentes do processo raiz. Somente os processos no grupo que compartilham o mesmo console que o processo de chamada recebem o sinal. Isto é, se um processo no grupo cria um novo console, esse processo não recebe o sinal, nem seus descendentes.

Se esse parâmetro é zero, o sinal é gerado em todos os processos que compartilham o console do processo de chamada.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

GenerateConsoleCtrlEvent faz com que as funções do manipulador de controle dos processos no grupo de destino sejam chamadas. Todos os processos têm uma função de manipulador padrão que chama a função ExitProcess. Processos de console podem usar a função SetConsoleCtrlHandler para instalar ou remover outras funções do manipulador.

SetConsoleCtrlHandler também pode habilitar um atributo herdável que faz o processo de chamada ignorar sinais CTRL+C. Se GenerateConsoleCtrlEvent envia um sinal CTRL+C para um processo para o qual esse atributo está habilitado, as funções de manipulador para esse processo não são chamadas. Os sinais CTRL+BREAK sempre fazem com que as funções do manipulador sejam chamadas.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ConsoleApi2.h (via WinCon.h, inclui o Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Manipuladores de controle do console

Funções de Console

CreateProcess

ExitProcess

SetConsoleCtrlHandler