Опубликовано 8 июня, 200620 г. comment_2380579 Подскажите, как можно в C++ Builder отловить нестандартное завершение программы (например, нажатие ctrl+alt+del и прерывание соответствующего процесса). Жалоба
Опубликовано 8 июня, 200620 г. comment_2380583 QUOTE (CaBa @ Jun 8 2006, 07:07) Подскажите, как можно в C++ Builder отловить нестандартное завершение программы (например, нажатие ctrl+alt+del и прерывание соответствующего процесса). Поставить хук. Жалоба
Опубликовано 8 июня, 200620 г. Автор comment_2380623 QUOTE (Неосознанное Счастье Морга @ Jun 8 2006, 09:11) Поставить хук. Понятно, что хук... А более конкретно можно? А если б и с примером... Было б Вам большое спасибо https://academ.club/html/emoticons/shy.gif Жалоба
Опубликовано 8 июня, 200620 г. Автор comment_2383709 что-то вроде получилось... даже работает (моё приложение следит за работой стандартного виндовского калькулятора). Может и не совсем правильно... но других идей мне пока не пришло. Если кому надо - пользуйтесь: DWORD Code; _STARTUPINFOA StartInfo = {sizeof(TStartupInfo)}; _PROCESS_INFORMATION ProcInfo; StartInfo.cb=sizeof(StartInfo); CreateProcess(NULL,"Calc",NULL,NULL,false,HIGH_PRIORITY_CLASS,NULL,NULL,&StartInfo,&ProcInfo); do { GetExitCodeProcess(ProcInfo.hProcess,&Code); } while(Code==STILL_ACTIVE); if(Code!=0) { ofstream outfile ("Result.dat"); outfile << " Аварийное завершение процесса = "<<FormatDateTime("dd.mm.yy hh:nn",Now()).c_str()<<endl; outfile.close(); } Жалоба
Подскажите, как можно в C++ Builder отловить нестандартное завершение программы (например, нажатие ctrl+alt+del и прерывание соответствующего процесса).