4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 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.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
|