![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Как в Win2000/NT зарегистрировать процесс как сервисный или отладочный ? Мне нужно сделать так, чтобы процесс нельзя было выгрузить.
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Не знаю, пойдёт ли в NT или в 2000, но 98 идёт.
Изчезает из процесов и нельзя завершить. -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
Grey |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Это не пойдет в 2000/NT.
Для того чтоб сделать процесс сервисным, надо реализовать в нем несклько специальных функций см. RegisterServiceCtrlHandler |
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Дело в том, что мне надо заблокировать чужой процесс. -------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
Grey |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Т.е. надо приостановить выплонение процесса, типа SuspendThread?
|
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
нет, ему надо сделать так чтоб чужой процесс нельзя было выгрузить, Шеф или я что-то не так понял -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Step, ты всё правильно понял, мне нужно, чтобы процесс нормально пахал, но чтобы нельзя было его выгрузить.
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
XpyDi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 25.11.2002 Где: USSR Репутация: нет Всего: 2 |
Запускай подопытный процесс функцией CreateProcess с установленным флагом
DEBUG_PROCESS - для создания видимости отладки процесса, тогда пока происходит отладка процесс невозможно будет закрыть. А отладки на самом деле никакой не будет происходить, просто мы об этом только известим систему и всё. и DEBUG_ONLY_THIS_PROCESS - чтобы не отлаживать все процессы, которые породит наш "подопытный кролик". Плюсы: можно также отлаживать производить и реальную отладку процесса. Минусы: по-моему, если закрыть твой процесс, то и отлажываемый закроеться сразу же. Хотя свой процесс ты уже можешь написать его сервисным. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Шеф, я вот о чем подума, а ты не пробывал перехватывать все сообщения винды, до их попадания приложения, и обрабатывать сообщения твоим программам, как только пришло сообщения от системы для закрытия программы ты его блакируеш, а системы кидаеш сообщения что прога закрыта, или что то в этом роде.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
я еще чучуть подумал. по всей видимости после такой махинации система прогу в качестве мусора попробует выкинуть. для решения этого вопроса поищи "бои в памяти" по поиску. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Неужто? Помниться я сам (не раз) отлаживал программу и попросил виндос закрыть отлаживаемый процесс. В результате закрывается виндос. Виснит просто. Это Win98. -------------------- Волны гасят ветер... |
|||
|
||||
Step |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
ты по ошибке не ту прогу закрыл, ![]() ![]() ![]() -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
||||
|
|||||
XpyDi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 25.11.2002 Где: USSR Репутация: нет Всего: 2 |
Когда я писал я в первую очередь основывался на личном опыте в работе и в написании отладчиков, а также документации(MSDN). Хотя смотря какой отладчик, для Win98 все-таки частенько и сама виснит(основываясь на опыте своем, друзей и знакомых) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |