Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

Как правильно убить процесс?   Найти похожие ветки 

 
Grademax   (2006-11-08 05:33) [0]

Проблемма следующая... Существует exe-файл, который во время своего старта запускает библиотеку DLL. Можно ли "убить" exe так, чтобы DLL осталась в памяти?

Если не сложно, то пример... :)


 
Сергей М. ©   (2006-11-08 08:12) [1]


> Можно ли "убить" exe так, чтобы DLL осталась в памяти?


Нельзя.


 
Grademax   (2006-11-08 08:58) [2]

Распишу подробнее...
Первый exe-файл запускает библиотеку DLL. Внутри DLL находится видимо ещё один exe, который запускает эта библиотека (во всяком случае этот второй exe или процесс запущенный DLL-кой, не знаю как лучше обозвать, отображается в Диспетчере задач [вкладка ПРИЛОЖЕНИЯ], даже иконка отображается :).
Так вот, если средствами Windows убить первый exe, то процесс запущенный DLL-кой продолжает стабильно работать.

Моя задача убить первый exe ПРОГРАМНО!

Пробовал сделать это так:
Вариант 1
    OpenProcess(PROCESS_TERMINATE, True, handleWindow_exe1);
    TerminateProcess(handleWindow_exe1,0);

Вариант 2
    SendMessage(handleWindow_exe1,WM_CLOSE,0,0);

Результат - ничего не вышло :( Прецесс не умирает...
Вывод - Всему виной кривые руки ;) Срочно требуется помощь костоправа...


 
Орион ©   (2006-11-08 09:02) [3]

внедри свою dll в какой-нить процесс.
Кстпти, что означает "запускает библиотеку DLL."?


 
Grademax   (2006-11-08 09:12) [4]

>Орион ©
>Кстпти, что означает "запускает библиотеку DLL."?

Согласен, промашка вышла... Пусть будет - подключает DLL.

>внедри свою dll в какой-нить процесс.
А зачем?
Чую проблему можно решить 2-3 строчками в программе. Только вот пока не знаю как...


 
Сергей М. ©   (2006-11-08 10:15) [5]


> если средствами Windows убить первый exe, то процесс запущенный
> DLL-кой продолжает стабильно работать


Почему бы ему не продолжать работать ? Не вижу оснований для удивления по этому поводу ...


> Результат - ничего не вышло :( Прецесс не умирает


С чего бы ему умирать ?
Ты в ф-циях OpenProcess() и TerminateProcess() манипулируешь каким-то невесть откуда взявшимся handleWindow_exe1, в то время как 1-я ф-ция требует Id процесса и возвращает его хэндл, а 2-я терминирует процесс, если ей передан этот самый хэндл .

И непонятно, причем здесь "чтобы DLL осталась в памяти" ? Эта DLL, будь она хоть в памяти хоть на Луне, не имеет ни малейшего отношения к задаче терминирования процесса.


 
Grademax   (2006-11-08 10:19) [6]

А вот с этого места поподробнее... Я ведь упоминал о кривых руках... :-)
КАК НАДО СДЕЛАТЬ ?


 
Ketmar ©   (2006-11-08 10:51) [7]

>[2] Grademax 8-Nov-2006, 08:58
>Так вот, если средствами Windows убить первый exe, то
>процесс запущенный DLL-кой продолжает стабильно работать.
>Моя задача убить первый exe ПРОГРАМНО!
ой. а винды это делают путём экзорцизма?

>[6] Grademax 8-Nov-2006, 10:19
>КАК НАДО СДЕЛАТЬ ?
ты не поверишь, но в [5] тебе уже рассказали. попробуй таки почитать внимательно.


 
Сергей М. ©   (2006-11-08 10:58) [8]


> Grademax   (08.11.06 10:19) [6]


Во-первых, не надо так кричать - тебя замечательно слышно.
Во-вторых, справку по этим ф-циям ты уже проштудировал ? Тебе там все понятно ?


 
Anatoly Podgoretsky ©   (2006-11-08 12:15) [9]

> Сергей М.  (08.11.2006 10:58:08)  [8]

А еще интереснее зачем ДЛЛ должна остаться запущеной после закрытия процесса.


 
Сергей М. ©   (2006-11-08 12:51) [10]


> Anatoly Podgoretsky ©   (08.11.06 12:15) [9]


> еще интереснее


В [5] я уже поинтересовался ..

Молчит ведь как партизан на допросе)


 
Anatoly Podgoretsky ©   (2006-11-08 13:10) [11]

> Сергей М.  (08.11.2006 12:51:10)  [10]

Наверно нельзя говорить.



Страницы: 1 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.055 c
11-1137793297
BeZ
2006-01-21 00:41
2006.11.26
По поводу черного цвета вместо системного


15-1162979970
DVM
2006-11-08 12:59
2006.11.26
Подскажите кто пел раньше эту песню.


3-1159179246
Ega23
2006-09-25 14:14
2006.11.26
Вопрос по переменной типа table


6-1152266385
MN
2006-07-07 13:59
2006.11.26
Как программно активировать сетевое подключение?


1-1160717109
Gosha11
2006-10-13 09:25
2006.11.26
Вставка данных в TFileStream