GenerateConsoleCtrlEvent

呼び出し側プロセスに関連付けられたコンソールを共有するプロセスに、指定されたシグナルを送信する。

GenerateConsoleCtrlEvent dwCtrlEvent, dwProcessGroupId

dwCtrlEvent : [int] 生成するシグナルの種類。このパラメータには次の値の 1 つを指定できる。| 値 | 意味 | |-|-| | **CTRL_C_EVENT** 0 | CTRL+C シグナルを生成する。このシグナルを特定のプロセスグループに限定することはできない。*dwProcessGroupId* が 0 以外の場合、この関数は成功するが、指定されたプロセスグループ内のプロセスは CTRL+C シグナルを受け取らない。| | **CTRL_BREAK_EVENT** 1 | CTRL+BREAK シグナルを生成する。|
dwProcessGroupId : [int] シグナルを受け取るプロセスグループの識別子。プロセスグループは、[**CreateProcess**](/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa) 関数の呼び出しで **CREATE\_NEW\_PROCESS\_GROUP** フラグが指定されたときに作成される。新しいプロセスのプロセス識別子は、新しいプロセスグループのプロセスグループ識別子でもある。プロセスグループにはルートプロセスの子孫であるすべてのプロセスが含まれる。グループ内のプロセスのうち、呼び出し側プロセスと同じコンソールを共有するプロセスのみがシグナルを受け取る。言い換えると、グループ内のプロセスが新しいコンソールを作成すると、そのプロセスはシグナルを受け取らず、その子孫も受け取らない。このパラメータが 0 の場合、シグナルは呼び出し側プロセスのコンソールを共有するすべてのプロセスで生成される。

(プラグイン / モジュール : kernel32.dll)

解説

呼び出し側プロセスに関連付けられたコンソールを共有するプロセスに、指定されたシグナルを送信する。

[戻り値]
関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
[**GetLastError**](/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)
を呼ぶ。

[備考]
**GenerateConsoleCtrlEvent**
は、ターゲットグループ内のプロセスの制御ハンドラ関数を呼び出させる。すべてのコンソールプロセスは、[**ExitProcess**](/windows/win32/api/processthreadsapi/nf-processthreadsapi-exitprocess)
関数を呼び出すデフォルトのハンドラ関数を持つ。コンソールプロセスは
[**SetConsoleCtrlHandler**](setconsolectrlhandler.md)
関数を使って他のハンドラ関数をインストールしたり削除したりできる。[**SetConsoleCtrlHandler**](setconsolectrlhandler.md)
は、呼び出し側プロセスが CTRL+C
シグナルを無視させる継承可能な属性を有効にすることもできる。**GenerateConsoleCtrlEvent**
がこの属性が有効になっているプロセスに CTRL+C
シグナルを送信した場合、そのプロセスのハンドラ関数は呼び出されない。CTRL+BREAK シグナルは常にハンドラ関数を呼び出させる。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs