Функция GenerateConsoleCtrlEvent
Отправляет указанный сигнал в группу процессов консоли, которая предоставляет общий доступ к консоли, связанной с вызывающим процессом.
Синтаксис
BOOL WINAPI GenerateConsoleCtrlEvent(
_In_ DWORD dwCtrlEvent,
_In_ DWORD dwProcessGroupId
);
Параметры
dwCtrlEvent [in]
Тип создаваемого сигнала. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
CTRL_C_EVENT 0 | Создает сигнал CTRL+C. Этот сигнал не может быть ограничен определенной группой процессов. Если dwProcessGroupId не является ненулевой, эта функция будет выполнена успешно, но сигнал CTRL+C не будет получен процессами в указанной группе процессов. |
CTRL_BREAK_EVENT 1 | Создает сигнал CTRL+BREAK. |
dwProcessGroupId [in]
Идентификатор группы процессов для получения сигнала. Группа процессов создается при указании флага CREATE_NEW_PROCESS_GROUP в вызове функции CreateProcess. Идентификатор процесса нового процесса также является идентификатором группы процессов новой группы процессов. Группа процессов включает все процессы, которые являются потомками корневого процесса. Только те процессы в группе, которые используют ту же консоль, что и вызывающий процесс, получают сигнал. Другими словами, если процесс в группе создает новую консоль, этот процесс не получает сигнал, а потомки не получают.
Если этот параметр равен нулю, сигнал создается во всех процессах, которые совместно используют консоль вызывающего процесса.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Замечания
GenerateConsoleCtrlEvent приводит к вызову функций обработчика элементов управления в целевой группе. Все процессы консоли имеют функцию обработчика по умолчанию, которая вызывает функцию ExitProcess . Консольный процесс может использовать функцию SetConsoleCtrlHandler для установки или удаления других функций обработчика.
SetConsoleCtrlHandler также может включить наследуемый атрибут, который вызывает процесс пропуска сигналов CTRL+C. Если GenerateConsoleCtrlEvent отправляет сигнал CTRL+C в процесс, для которого включен этот атрибут, функции обработчика для этого процесса не вызываются. Сигналы CTRL+BREAK всегда вызывают функции обработчика.
Requirements
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхний колонтитул | ConsoleApi2.h (через WinCon.h, включая Windows.h) |
Библиотека | Kernel32.lib |
DLL-библиотеки | Kernel32.dll |