А можно ли убить сервис? И куда потом девать тело?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

А можно ли убить сервис? И куда потом девать тело?

Сообщение Pantalone » 07.04.2009 (Вт) 2:50

На форуме куча примеров как грохнуть приложение. А вот как грохнуть сервис? Не через механизм остановки, а именно грохнуть его из памяти. Через таск менеджер это делается легко и процесс становится остановленным. Я проверил, такс менеджер именно прибивает сервис, а не останавливает его.
Сервис не антивирус если кто подумал, моя прога на NTSVC.ocx запущенная при помощи этой либы как сервис. Фигня в том что если перелогиниться, то команды остановки сервиса нихрена не работают как надо. Т.е. сервис конечно останавливается, но с предложением отправить мессагу в майкрософт. А таск менеджер этот сервис грохает без вопросов и он после этого в памяти не висит несколько секунд как при попытках просто остановить.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: А можно ли убить сервис?

Сообщение Хакер » 07.04.2009 (Вт) 14:56

Какого черта надо грохать сервисы? Исправляй кривость, а не усугубляй её.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: А можно ли убить сервис?

Сообщение jangle » 07.04.2009 (Вт) 15:22

Pantalone писал(а):На форуме куча примеров как грохнуть приложение. А вот как грохнуть сервис?


Таскменеджер грохает все через TerminateProcess, это обертка над ZwTerminateProcess,
можешь поступить также.

UPD. Но грохать процессы, через TerminateProcess, MS не рекомендует, это аварийное средство, когда других путей прибить процесс уже нет.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 22

    TopList