呼び出しプロセスのハンドラー関数リストからアプリケーション定義の HandlerRoutine 関数を追加または削除します。
Win32 API
機能:
呼び出しプロセスのハンドラー関数リストからアプリケーション定義の HandlerRoutine 関数を追加または削除します。
関数プロトタイプ:
BOOL SetConsoleCtrlHandler( PHANDLER_ROUTINE HandlerRoutine, // 回调函数 BOOL Add // 表示添加还是删除 );
戻り値: BOOL型
Parameters
Parameters HandlerRoutine: 追加または削除されるアプリケーション定義のポインタ HandlerRoutine 関数。 このパラメータは NULL にすることができます。
パラメータの追加: このパラメータが TRUE の場合はハンドラーが追加され、False の場合はハンドラーが削除されます。
戻り値:
関数が失敗した場合、戻り値は 0 です。それ以外の場合は、ゼロ以外の値が返されます。 さらに詳しいエラー情報を取得したい場合は、GetLastError 関数を呼び出します。
端的に言えばシステムコールです。
最初のパラメータは関数ポインタで、これは上記の関数です。 2 番目のパラメータはフラグで、TRUE の場合はフックをインストールし、FALSE の場合はフックを削除します。
これを実現するには、Windows API を使用してコンソールの手動終了イベントのメッセージをインターセプトします。以下に示すのは完全な例です。
以上がC#登録コントロールハンドラー(SetConsoleCtrlHandler)関数例の詳細紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。