4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
 Откуда: Москва Всего сообщений: 3031 Рейтинг пользователя: 75 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 5 декабря 2005 0:14
Как выяснилось, нужно повесить функцию-обработчик с помощью SetConsoleCtrlHandler и ловить с ее помощью событие CTRL_CLOSE_EVENT.
Вот пример кода:
program Project2;
{$APPTYPE CONSOLE}
uses Windows, SysUtils;
function HandlerRoutine(dwCtrlType: cardinal): bool; stdcall; begin case dwCtrlType of CTRL_CLOSE_EVENT: begin if IDYES = MessageBox(0,'You are killing me','Why?',MB_YESNO) then Result:=false else Result:=true end; else Result:=false; end;//of case end;
begin SetConsoleCtrlHandler(@HandlerRoutine,true); Sleep(Infinite); end.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
|