Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każdy proces konsoli ma własną listę funkcji obsługi sterowania, które są wywoływane przez system, gdy proces odbiera sygnał CTRL+C, CTRL+BREAK lub CTRL+CLOSE . Początkowo lista procedur obsługi kontrolek dla każdego procesu zawiera tylko domyślną funkcję obsługi, która wywołuje funkcję ExitProcess . Proces konsoli może dodawać lub usuwać dodatkowe funkcje programu HandlerRoutine przez wywołanie funkcji SetConsoleCtrlHandler . Ta funkcja nie ma wpływu na listy procedur obsługi kontrolek dla innych procesów. Gdy proces konsoli odbiera dowolny z sygnałów sterujących, wywołuje funkcje programu obsługi na podstawie ostatniego zarejestrowanego, pierwszego wywołania do momentu, gdy jeden z programów obsługi zwróci wartość TRUE. Jeśli żadna z procedur obsługi nie zwróci wartości TRUE, zostanie wywołana domyślna procedura obsługi.
Parametr dwCtrlType funkcji określa, który sygnał sterujący został odebrany, a wartość zwracana wskazuje, czy sygnał został obsłużony.
Nowy wątek jest uruchamiany wewnątrz procesu klienta wiersza polecenia, aby uruchomić procedury obsługi. Więcej informacji na temat wartości limitu czasu i akcji tego wątku można znaleźć w dokumentacji funkcji HandlerRoutine .
Aby zapoznać się z przykładem funkcji obsługi kontrolek, zobacz Rejestrowanie funkcji obsługi kontrolek.
Należy pamiętać, że wywołanie metody AttachConsole, AllocConsole lub FreeConsole spowoduje zresetowanie tabeli procedur obsługi kontrolek w procesie klienta do stanu początkowego.