主控台控制處理常式

當行程收到 CTRL+CCTRL+BREAKCTRL+CLOSE 訊號時,每個控制台進程都有自己的控制處理程式函式清單。 一開始,每個進程的控件處理程式清單只包含呼叫 ExitProcess 函式的預設處理程式函式。 控制台進程可以藉由呼叫 SetConsoleCtrlHandler 函式來新增或移除其他 HandlerRoutine 函式。 此函式不會影響其他進程的控制處理程式清單。 當主控台進程收到任何控件訊號時,它會在最後一次註冊且先呼叫的處理程式函式上呼叫,直到其中一個處理程式傳 回 TRUE 為止。 如果沒有任何處理程式傳 回 TRUE,則會呼叫預設處理程式。

函式的 dwCtrlType 參數會識別接收哪一個控制訊號,而傳回值會指出是否已處理訊號。

新的線程會在命令行用戶端進程內啟動,以執行處理程式例程。 如需此線程逾時值和動作的詳細資訊,請參閱 HandlerRoutine 函式檔。

如需控件處理程式函式的範例,請參閱 註冊控件處理程式函式

請注意,呼叫 AttachConsoleAllocConsole 或 FreeConsole 會將客戶端進程中的控件處理程式數據表重設為其初始狀態。