GenerateConsoleCtrlEvent |
Declare Function Api_GenerateConsoleCtrlEvent& Lib "kernel32" Alias "GenerateConsoleCtrlEvent" (ByVal dwCtrlEvent&, ByVal dwProcessGroupId&) |
||||||
Declare Function GenerateConsoleCtrlEvent Lib "kernel32" Alias "GenerateConsoleCtrlEvent" (ByVal dwCtrlEvent As Long, ByVal dwProcessGroupId As Long) As Long |
|||||||
呼び出し側プロセスのコンソールを共有するコンソールプロセスグループに、指定した信号を送信する。 |
|||||||
パラメータ
dwProcessGroupId をセットすると、プロセスグループが作成される。新しいプロセスのプロセス識別子が新しいプロセスグループのプロセスグループ識別子にもな る。プロセスグループには、ルートプロセスの子孫となるすべてのプロセスが含まれる。信号を受け取るのは、グループ内の、呼び出し側プ ロセスと同じコンソールを共有するプロセスだけである。つまり、グループ内のあるプロセスが新しいコンソールを作成すると、そのプロセスは
信号を受け取らない。そのプロセスの子孫も信号を受け取らない。 ルプロセスにも、ExitProcess 関数を呼び出す既定のハンドラ関数がある。コンソールプロセスは、SetConsoleCtrlHandler 関数を使って他
のハンドラ関数をインストールしたり、削除したりできる。 先プロセスでこの属性が有効になっていると、GenerateConsoleCtrlEvent 関数で CTRL+C 信号を送信しても、そのプロセスのハンドラ関 数は呼び出されない。一方、CTRL+BREAK 信号を送信した場合、送信先プロセスのハンドラ関数が必ず呼び出される。 |