Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2010, 22:23   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Операции перед убийством процесса.

Необходимо выполнить процедуру, перед тем, как процесс будет уничтожен через "Диспетчер".

Код:
Function WindowProc(Hand, Mess :LongWord; wParam, lParam: LongInt): LongInt; StdCall;
  Begin
   Result := DefWindowProc(Hand, Mess, wParam, lParam);
   Case Mess Of

    (* WM_DESTROY *) 2 : UNTForms.ShutDown;
   End;
  End;
Не помогает. Т.е. он помогает, когда приложение завершают обычными методами. А не "выдергиванием шнура".
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 27.06.2010, 22:34   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Процесс не получает никаких уведомлений/не может препятствовать завершению при вызове TerminateProcess. Только через перехват API.
пыщь
JTG вне форума Ответить с цитированием
Старый 27.06.2010, 22:38   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Блин, жалко. А какая мысля была...

Ситуация в следующем - перед запуском запоминаю разрешение экрана, во время выполнения его меняю, при выходе возвращаю, как было. Если кильнуть процесс - как было не вертается. Вот и думаю, как решить ситуацию.

Есть вариант через "смотрителя" - процесс, который будет отслеживать существования mainprocess и при его закрытии вертать все взад.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 27.06.2010, 22:49   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Есть вариант через "смотрителя"
хороший вариант.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.06.2010, 22:50   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Угу, что-нибудь типа
Код:
var pi: PROCESS_INFORMATION;
    si: STARTUPINFO;
    ExitCode: Dword;

begin
  ZeroMemory(@pi, sizeOf(pi));
  ZeroMemory(@si, sizeOf(si));
  if CreateProcess(nil, 'blablabla.exe', nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, si, pi) then
  begin
    CloseHandle(pi.hThread);
    WaitForSingleObject(pi.hProcess, INFINITE);
    GetExitCodeProcess(pi.hProcess, ExitCode);
    if ExitCode <> 0 then ; //процесс прибили
    CloseHandle(pi.hProcess);
  end;
end.
пыщь
JTG вне форума Ответить с цитированием
Старый 27.06.2010, 23:22   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

/r/ комментарии. Не понял ни строчки

P.S. Но спасибо
P.P.S. Кстати, пока не ушел. Если я в приложении создам два WinClass и каждому полноценно все опишу - прибите через дисп. одного процесса убьет второй? Или будет создан только один процесс?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подтверждение перед удалением из ACCESS KOPOTKOB БД в Delphi 3 09.12.2009 14:01
Паскаль. Число перед максимальным. Raudi_s Помощь студентам 8 04.12.2009 18:05
Есть ли антипод операции TASKKILL для запуска процесса? Stilet Операционные системы общие вопросы 4 25.03.2009 15:28
Страх перед С++ Барби Свободное общение 30 03.12.2008 18:43
Сохраниние документа перед выходом Vladya Помощь студентам 6 09.11.2008 10:30