Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pause Process


Kolya ©   (2002-07-22 21:29:00) 

Kak zamorozit proshess? Tak kak eto delaet Firewall.


Юрий Зотов   (2002-07-23 02:30:00) [1]

> Proton © (23.07.02 01:37)

Благодарю за абсолютно свежую информацию. Особенно за напоминание о том, что "у процесса может быть несколько потоков" (ну просто ОЧЕНЬпонравилось).

Зато у процесса и всех его потоков может не быть ни одного окна, да и вообще ни одного вызова функций User32. Стало быть, у них не будет очередей сообщений. И что же тогда будет ловить Ваш WH_GETMESSAGE? Как-то это не очень понятно...

А вот, скажем, внедрение DLL (или CreateRemoteThread под NT) в совокупности с GetStartupInfo - как раз то, что нужно (это к вопросу "а как его получить если процесс запустил не ты" - как обычно, ничего нового, ручками и головой, головой и ручками). После чего SuspendThread сработает с неотвратимостью бронепоезда.

Несмотря на то, что все это "усложняет процесс". Что делать... уж такая задача. Это все же ядро, а не по окошкам прыгать.


Proton   (2002-07-23 01:37:00) [2]

можно повесить хук на систему скажем на GetMessage и
полать твоему процессу какое нить сообщение
пока библиотека лоыушки сообщение не обработает процесс дальше не пойдет
вот и получается что в тексте ловушки пишеш
while flag do
sleep (20);


> Юрий Зотов

что же касается
> SuspendThread.
то он работает только с хендолом, а как его получить если процесс запустил не ты ?
getwindowTheadProcessId возврашает theadid а не hthead. и в апях нет укции openthead (по аналогии с openprocess)
можно конечно воспользоваться ntQueryInformation или toolHelp functions - но это толльк усложняет процесс.
и наконец не стоит забывать что у процесса может быть несколько потоков.


Юрий Зотов   (2002-07-23 00:06:00) [3]

SuspendThread.


Наверх

Титульная страница Поиск, карта сайта Написать письмо