Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процессы 
:(
    Опции темы
Sheff
Дата 10.12.2002, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 503
Регистрация: 25.3.2002
Где: Зеленоград

Репутация: 3
Всего: 3



Как в Win2000/NT зарегистрировать процесс как сервисный или отладочный ? Мне нужно сделать так, чтобы процесс нельзя было выгрузить.


--------------------
--------------------------
Шеф всегда прав :)
PM MAIL WWW ICQ   Вверх
Klin
  Дата 10.12.2002, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Не знаю, пойдёт ли в NT или в 2000, но 98 идёт.
Код
typedef DWORD (WINAPI *LPREGISTERSERVICEPROCESS) (DWORD, DWORD);
   HINSTANCE h_i;
   LPREGISTERSERVICEPROCESS lpRegProc;
   h_i = LoadLibrary("KERNEL32.DLL");

   if (h_i)
   {
       lpRegProc = (LPREGISTERSERVICEPROCESS)GetProcAddress(h_i, "RegisterServiceProcess");
       if (lpRegProc)
       {
           lpRegProc(NULL, 1);
       }
       FreeLibrary(h_i);
   }

Изчезает из процесов и нельзя завершить.


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Grey
Дата 10.12.2002, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Это не пойдет в 2000/NT.
Для того чтоб сделать процесс сервисным, надо реализовать в нем несклько специальных функций см. RegisterServiceCtrlHandler
PM MAIL   Вверх
Sheff
Дата 12.12.2002, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 503
Регистрация: 25.3.2002
Где: Зеленоград

Репутация: 3
Всего: 3



Цитата(Grey @ 09.12.2002, 18:09)
Это не пойдет в 2000/NT.
Для того чтоб сделать процесс сервисным, надо реализовать в нем несклько специальных функций см. RegisterServiceCtrlHandler

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


--------------------
--------------------------
Шеф всегда прав :)
PM MAIL WWW ICQ   Вверх
Grey
Дата 12.12.2002, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Т.е. надо приостановить выплонение процесса, типа SuspendThread?
PM MAIL   Вверх
Step
Дата 12.12.2002, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата(Grey @ 11.12.2002, 17:27)
Т.е. надо приостановить выплонение процесса, типа SuspendThread?

нет, ему надо сделать так чтоб чужой процесс нельзя было выгрузить, Шеф или я что-то не так понял


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Sheff
Дата 13.12.2002, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 503
Регистрация: 25.3.2002
Где: Зеленоград

Репутация: 3
Всего: 3



Step, ты всё правильно понял, мне нужно, чтобы процесс нормально пахал, но чтобы нельзя было его выгрузить.


--------------------
--------------------------
Шеф всегда прав :)
PM MAIL WWW ICQ   Вверх
XpyDi
Дата 13.12.2002, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 25.11.2002
Где: USSR

Репутация: нет
Всего: 2



Запускай подопытный процесс функцией CreateProcess с установленным флагом
DEBUG_PROCESS - для создания видимости отладки процесса, тогда пока происходит отладка процесс невозможно будет закрыть. А отладки на самом деле никакой не будет происходить, просто мы об этом только известим систему и всё.
и
DEBUG_ONLY_THIS_PROCESS - чтобы не отлаживать все процессы, которые породит наш "подопытный кролик".

Плюсы: можно также отлаживать производить и реальную отладку процесса.
Минусы: по-моему, если закрыть твой процесс, то и отлажываемый закроеться сразу же.
Хотя свой процесс ты уже можешь написать его сервисным.
PM MAIL WWW ICQ   Вверх
Step
Дата 14.12.2002, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Шеф, я вот о чем подума, а ты не пробывал перехватывать все сообщения винды, до их попадания приложения, и обрабатывать сообщения твоим программам, как только пришло сообщения от системы для закрытия программы ты его блакируеш, а системы кидаеш сообщения что прога закрыта, или что то в этом роде.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 14.12.2002, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата(Step @ 14.12.2002, 11:33)
Шеф, я вот о чем подума, а ты не пробывал перехватывать все сообщения винды, до их попадания приложения, и обрабатывать сообщения твоим программам, как только пришло сообщения от системы для закрытия программы ты его блакируеш, а системы кидаеш сообщения что прога закрыта, или что то в этом роде.

я еще чучуть подумал.
по всей видимости после такой махинации система прогу в качестве мусора попробует выкинуть.
для решения этого вопроса поищи "бои в памяти" по поиску.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Fantasist
Дата 15.12.2002, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата(XpyDi @ 13.12.2002, 15:14)
Запускай подопытный процесс функцией CreateProcess с установленным флагом
DEBUG_PROCESS - для создания видимости отладки процесса, тогда пока происходит отладка процесс невозможно будет закрыть.

Неужто? Помниться я сам (не раз) отлаживал программу и попросил виндос закрыть отлаживаемый процесс. В результате закрывается виндос. Виснит просто. Это Win98.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Step
Дата 16.12.2002, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата(Fantasist @ 14.12.2002, 23:01)
Цитата(XpyDi @ 13.12.2002, 15:14)
Запускай подопытный процесс функцией CreateProcess с установленным флагом
DEBUG_PROCESS - для создания видимости отладки процесса, тогда пока происходит отладка процесс невозможно будет закрыть.

Неужто? Помниться я сам (не раз) отлаживал программу и попросил виндос закрыть отлаживаемый процесс. В результате закрывается виндос. Виснит просто. Это Win98.

ты по ошибке не ту прогу закрыл, :) вот винда и глюканула. :)  :)


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
XpyDi
Дата 17.12.2002, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 25.11.2002
Где: USSR

Репутация: нет
Всего: 2



Цитата(Fantasist @ 15.12.2002, )
Неужто? Помниться я сам (не раз) отлаживал программу и попросил виндос закрыть отлаживаемый процесс. В результате закрывается виндос. Виснит просто. Это Win98.

Когда я писал я в первую очередь основывался на личном опыте в работе и в написании отладчиков, а также документации(MSDN). Хотя смотря какой отладчик, для Win98 все-таки частенько и сама виснит(основываясь на опыте своем, друзей и знакомых)
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1011 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.