![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие консольного приложения
Andrey © (2001-06-20 16:01:00)Как отследить "Ctl+C", "Ctl+Break" и нажатие крестика в консольном приложении?
VRussian (2001-09-30 12:04:00) [1]Вешаем глобальный хук и никаких проблемм!
Правдо работать будет криво, но мы это переживём...
We are to make the World better ...
Ketmar (2001-09-29 20:08:00) [2]потому что документацию читаем криво. где stdcall после объявления хандлера, а? винда, бедная, про дельфийский способ вызова функций с аргументами в регистрах не знает.
кнопочка же "закрыть" будет поймана только в NT/2K. 9x смело игнорируют всякие хандлеры при ее нажатии.
Satanas Nobiscum! 29-Sep-XXXVI A.S.
Ketmar (2001-09-29 20:07:00) [3]потому что документацию читаем криво. где stdcall после объявления хандлера, а? винда, бедная, про дельфийский способ вызова функций с аргументами в регистрах не знает.
Satanas Nobiscum! 29-Sep-XXXVI A.S.
Vitaly (2001-09-28 09:39:00) [4]Вот программуля (почитав SDK).
По Сtrl+С, Ctrl+Break handlerr вызывается,
причем сt = 3221328808 (никак не CTRL_C_EVENT или CTRL_BREAK_EVENT).
Нажатие крестика handlerr игнорируется.
Почему?
function handlerr(ct: DWORD): boolean;
begin
handlerr := true;
end;
begin
SetConsoleCtrlHandler(@handlerr, true);
readln;
end.
SergeG (2001-06-20 18:21:00) [5]SetConsoleCtrlHandler и т. д., читай SDK