Форум: "Основная";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];
ВнизPause Process Найти похожие ветки
← →
Kolya (2002-07-22 21:29) [0]Kak zamorozit proshess? Tak kak eto delaet Firewall.
← →
Юрий Зотов (2002-07-23 00:06) [1]SuspendThread.
← →
Proton (2002-07-23 01:37) [2]можно повесить хук на систему скажем на GetMessage и
полать твоему процессу какое нить сообщение
пока библиотека лоыушки сообщение не обработает процесс дальше не пойдет
вот и получается что в тексте ловушки пишеш
while flag do
sleep (20);
> Юрий Зотов
что же касается
> SuspendThread.
то он работает только с хендолом, а как его получить если процесс запустил не ты ?
getwindowTheadProcessId возврашает theadid а не hthead. и в апях нет укции openthead (по аналогии с openprocess)
можно конечно воспользоваться ntQueryInformation или toolHelp functions - но это толльк усложняет процесс.
и наконец не стоит забывать что у процесса может быть несколько потоков.
← →
Юрий Зотов (2002-07-23 02:30) [3]> Proton © (23.07.02 01:37)
Благодарю за абсолютно свежую информацию. Особенно за напоминание о том, что "у процесса может быть несколько потоков" (ну просто ОЧЕНЬ понравилось).
Зато у процесса и всех его потоков может не быть ни одного окна, да и вообще ни одного вызова функций User32. Стало быть, у них не будет очередей сообщений. И что же тогда будет ловить Ваш WH_GETMESSAGE? Как-то это не очень понятно...
А вот, скажем, внедрение DLL (или CreateRemoteThread под NT) в совокупности с GetStartupInfo - как раз то, что нужно (это к вопросу "а как его получить если процесс запустил не ты" - как обычно, ничего нового, ручками и головой, головой и ручками). После чего SuspendThread сработает с неотвратимостью бронепоезда.
Несмотря на то, что все это "усложняет процесс". Что делать... уж такая задача. Это все же ядро, а не по окошкам прыгать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c