ホームページ  >  記事  >  バックエンド開発  >  C#登録コントロールハンドラー(SetConsoleCtrlHandler)関数例の詳細紹介

C#登録コントロールハンドラー(SetConsoleCtrlHandler)関数例の詳細紹介

黄舟
黄舟オリジナル
2017-03-13 17:50:442608ブラウズ

呼び出しプロセスのハンドラー関数リストからアプリケーション定義の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。