Condividi tramite


Funzione GenerateConsoleCtrlEvent

Invia un segnale specificato a un gruppo di processi della console che condivide la console associata al processo chiamante.

Sintassi

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

Parametri

dwCtrlEvent [in]
Tipo di segnale da generare. Questo parametro può avere uno dei valori seguenti.

valore Significato
CTRL_C_EVENT 0 Genera un segnale CTRL+C. Questo segnale non può essere limitato a un gruppo di processi specifico. Se dwProcessGroupId è diverso da zero, questa funzione avrà esito positivo, ma il segnale CTRL+C non verrà ricevuto dai processi all'interno del gruppo di processi specificato.
CTRL_BREAK_EVENT 1 Genera un segnale CTRL+INTERR.

dwProcessGroupId [in]
Identificatore del gruppo di processi per ricevere il segnale. Un gruppo di processi viene creato quando il flag CREATE_NEW_PROCESS_GROUP viene specificato in una chiamata alla funzione CreateProcess. L'identificatore del processo del nuovo processo è anche l'identificatore del gruppo di processi di un nuovo gruppo di processi. Il gruppo di processi include tutti i processi discendenti del processo radice. Solo i processi nel gruppo che condividono la stessa console del processo chiamante ricevono il segnale. In altre parole, se un processo nel gruppo crea una nuova console, tale processo non riceve il segnale né ne esegue i discendenti.

Se questo parametro è zero, il segnale viene generato in tutti i processi che condividono la console del processo chiamante.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Osservazioni:

GenerateConsoleCtrlEvent fa sì che vengano chiamate le funzioni del gestore di controllo dei processi nel gruppo di destinazione. Tutti i processi della console hanno una funzione del gestore predefinita che chiama la funzione ExitProcess . Un processo della console può usare la funzione SetConsoleCtrlHandler per installare o rimuovere altre funzioni del gestore.

SetConsoleCtrlHandler può anche abilitare un attributo ereditabile che fa sì che il processo chiamante ignori i segnali CTRL+C. Se GenerateConsoleCtrlEvent invia un segnale CTRL+C a un processo per il quale questo attributo è abilitato, le funzioni del gestore per tale processo non vengono chiamate. I segnali CTRL+BREAK causano sempre la chiamata delle funzioni del gestore.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione ConsoleApi2.h (tramite WinCon.h, includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedi anche

Gestori di controllo della console

Funzioni della console

Createprocess

ExitProcess

SetConsoleCtrlHandler