Функция GenerateConsoleCtrlEvent


Функция GenerateConsoleCtrlEvent отправляет определяемый сигнал группе процессов консоли, которая совместно использует консоль, связанную с вызывающим процессом.

Синтаксис

BOOL GenerateConsoleCtrlEvent(

DWORD dwCtrlEvent ,    // созданный сигнал
DWORD
dwProcessGroupId // группа процессов, которая получит сигнал

);

Параметры

dwCtrlEvent

[in] Тип сигнала, который создается. Этот параметр может быть одним из следующих значений

 

Значение

Предназначение

CTRL_C_EVENT

Создает сигнал CTRL+C. 

CTRL_BREAK_EVENT

Создает сигнал CTRL+BREAK. 

dwProcessGroupId

[in] Идентификатор группы процессов, которая получает сигнал. Группа процессов создается, когда установлен флажок CREATE_NEW_PROCESS_GROUP при вызове функции CreateProcess. Идентификатор нового процесса является также идентификатором и группы новых процессов. Группа процессов включает в себя все процессы, которые являются потомками корневого процесса. Только те процессы в группе, которые совместно используют одну и ту же консоль, что и вызывающий процесс, получают сигнал. Другими словами, если процесс в группе создает новую консоль, этот процесс не получает сигнала, не создает своих потомков.

Если этот параметр нулевой, сигнал создается для всех процессов, которые совместно используют консоль вызывающего процесса.

Возвращаемые значения

Если функция завершается успешно, величина возвращаемого значения - не ноль.

Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получать расширенные данные об ошибках, вызовите функцию GetLastError.

Замечания

Функция GenerateConsoleCtrlEvent заставляет вызвать функции управления обработчиком процессов в целевой группе. Все консольные процессы имеют заданную по умолчанию функцию обработчика, которая вызывает функцию ExitProcess. Консольный процесс может использовать функцию SetConsoleCtrlHandler, чтобы установить или удалить другие функции обработчиков.

Функция SetConsoleCtrlHandler может также включить наследуемый атрибут, который заставляет вызывающий процесс игнорировать сигналы CTRL+C. Если функция GenerateConsoleCtrlEvent отправляет сигнал CTRL+C процессу, для которого этот атрибут включен, функции обработчиков для этого процесса не вызываются. Сигналы CTRL+BREAK всегда заставляют функции обработчика быть вызванными.

Смотри также

Обзор консольных приложений, Функции консоли, CreateProcess, ExitProcess, SetConsoleCtrlHandler

Размещение и совместимость GenerateConsoleCtrlEvent

Windows. NET Server

Да

Windows XP Да

Windows 2000

Да

Windows NT

Версия 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Kernel32.lib

Заголовочный файл

 

- объявлено в

Wincon.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz