Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2008, 19:01   #1
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
Сообщение Появление процесса

Доброе время суток, подскажите, пожалуйста как узнать что в системе появился (завершился) процесс? Желательно с помощью NtQuerySystemInformation
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 22.04.2008, 19:23   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

В Ring3 только постоянным обновлением списка. Если не рассматривать не больно полезный вариант SWbemServices.ExecNotificationQuery или перехват NtCreateProcess. В ядре можно поставить свю ловушку через PsSetCreateProcessNotifyRoutine или PsSetLoadImageNotifyRoutine

Последний раз редактировалось B_N; 22.04.2008 в 19:38. Причина: пропустил самое важно слово - "в ядре"
B_N вне форума Ответить с цитированием
Старый 22.04.2008, 19:30   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

можно также через перехват функции NtCreateThread.
rpy3uH вне форума Ответить с цитированием
Старый 22.04.2008, 19:35   #4
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Что то я про энти функции почитал, по ним вроде как надо драйвер писать (или я ошибаюсь), а можно как-нибудь по другому?
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 22.04.2008, 19:40   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от student_63 Посмотреть сообщение
Что то я про энти функции почитал, по ним вроде как надо драйвер писать (или я ошибаюсь), а можно как-нибудь по другому?
Если про Ps**** - да, драйвер. Я умудрился выше пропустить слово "ядро". Всё остальное можно вызывать как обычно, только они в общем ничего не гарантируют на 100%, либо следить нужно самому в цикле.
B_N вне форума Ответить с цитированием
Старый 22.04.2008, 19:43   #6
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Ну я так и хочу, по таймеру следить за изменениями и если чтото изменилось - обновить список, а то просто так по таймеру как то нехорошо получается все время обновлять

Спасибо за ответы
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС

Последний раз редактировалось rpy3uH; 22.04.2008 в 20:07.
student_63 вне форума Ответить с цитированием
Старый 22.04.2008, 20:08   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от student_63 Посмотреть сообщение
Ну я так и хочу, по таймеру следить за изменениями и если чтото изменилось - обновить список, а то просто так по таймеру как то нехорошо получается все время обновлять
именно так и делает диспетчер задач Windows!
rpy3uH вне форума Ответить с цитированием
Старый 22.04.2008, 20:18   #8
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Чтото я не нашел как пользоваться этими функциями, может скажите как проследить за изменениями с помощью NtCreateThread, например
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 22.04.2008, 20:40   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от student_63 Посмотреть сообщение
Чтото я не нашел как пользоваться этими функциями, может скажите как проследить за изменениями с помощью NtCreateThread, например
Где-то на форуме должен быть пример на дельфи от rpy3uHа по перехвату "снизу" NtQuerySystemInformation. Попробуйте поискать, может быть он сам поможет точной ссылкой, но, честно говоря, это далеко не идеальный способ в Вашем случае. Пожалуй всё-таки лучше делать это по таймеру через NtQuerySystemInformation (или NtQueryInformationProcess). И, кстати, советую обзавестись справочником по Native API Нэббета, если Вы ещё этого не сделали.
B_N вне форума Ответить с цитированием
Старый 23.04.2008, 08:36   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а то просто так по таймеру как то нехорошо получается все время обновлять
Чеж тут плохого?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавное появление формы HAMMAN Общие вопросы Delphi 3 15.05.2008 14:20
возобновить появление формы strannik Общие вопросы Delphi 4 18.09.2007 05:51
Появление формы. Kukkk Общие вопросы Delphi 17 13.09.2007 20:23
Появление подсказки Римма Общие вопросы Delphi 6 20.08.2007 12:22