| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как узнать о завершении работы из DLL |
| Автор: lgv 12.11.2010, 14:58 |
| Существует ли надежный способ определения завершения работы Windows из DLL, без относительно к какому процессу она принадлежить. Например, logoff, reboot, shutdown через кнопку Пуск, taskman, команда shutdown -l(-r,-s), др. DLL_THREAD_DETACH,DLL_PROCESS_DETACH, SetProcessShutdownParameters, перехваты ExitProcess, ExitWindowsEx, DispatchMessage не дают желаемого результата во всех случаях. SetWindowsHookEx - разумного ничего не ловило, хотя может я чегото не доучел. Какие еще рарианты могут быть? Спасибо. |
| Автор: xvr 13.11.2010, 11:02 |
| Самое надежное это DLL_PROCESS_DETACH. Но при убиении процесса из taskman (через TerminateProcess) даже сам процесс не сможет узнать, что его 'terminate', а вы хотите это узнать из dll |
| Автор: ASMatic 15.11.2010, 03:03 |
| xvr, lgv, http://msdn.microsoft.com/en-us/library/ms685049(v=VS.85).aspx |
| Автор: xvr 15.11.2010, 11:04 | ||
Пардон, невнимательно прочел вопрос. Я думал о завершении приложения
|
| Автор: ASMatic 15.11.2010, 17:25 | ||
xvr, говорят
http://msdn.microsoft.com/en-us/library/ms686016(v=VS.85).aspx вроде как должно работать... |