Главная страница
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.042 c
1-1160722650
CaptainX
2006-10-13 10:57
2006.11.26
Перенести текст или файл на иконку в трее (Drag and Drop)


2-1162925307
kassel
2006-11-07 21:48
2006.11.26
Помогите с алгоритмом ил с прогой


5-1143992903
TStas
2006-04-02 19:48
2006.11.26
Написал компонент. Работтает. Непонятн, как ставится


2-1163158879
Max.66RUS
2006-11-10 14:41
2006.11.26
Подключен ли компьютер к интернету в данный момент...


4-1152699270
denissoft
2006-07-12 14:14
2006.11.26
серийный номер винта