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

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

Про Handl'ы


Warlock_ ©   (2006-02-13 05:29:00) 

Hi ALL!
Будте добры, помогите новичку...
Мою программу будет запускать другая программа (не моя) и мне нужно в своей программе отследить Handle или путь (а лучше и то и другое) той программы, которая будет ее (мою прогу) запускать...
ЗЫ: если кто не понял рисую схемку...

"1-я программа" ---запускает---> "моя программа" (нужен хендл первой)
Заранее спастбо


Digitman   (2006-02-13 12:46:00) [1]

http://www.google.ru/search?hl=ru&q=NtQueryInformationProcess&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=


Warloc_   (2006-02-13 12:37:00) [2]

> А если она не имеет ни одного окна ?
Нет, ну я в принципе сомневаюсь, что меня будут запускать невидимки :))) Хотя...

> В общем случае - никак.
Я знаю, что Parent PID может превратиться в мусор :(

> Под НТ для получения достаточно детальной информации
> об интересующем  процессе см. NtQueryInformationProcess()
Пасиб, хоть кто-то сказал что либо членораздельное.
Хм, не сочти лодырем, но не дашь ли синтаксис, или хотя бы ссылочку на NtQueryInformationProcess(), а то поиском по SDK прошел - там пусто 8| , а в Net'e искать сейчас времени нету :(


Digitman   (2006-02-13 11:00:00) [3]


> Ну наверно Handle ОКНА первой программы


А если она не имеет ни одного окна ?


> А то, что так делать можно УВЕРЕН, потому что и "Process
> Explorer" Руссиновича (www.sysinternals.com) и тот же "FAR"
> показывает, так называемый "Parent PID". Вот только как?


В общем случае - никак.

На тот момент, когда твой процесс захочет узнать инф-цию о процессе-"родителе", последний вполне может уже и завершиться. И тот самый Parent PID будет либо "мусором" либо "указывать" на совершенно другой процесс, к твоему процессу не имеющий ни малейшего отношения.

Т.е. речь может идти лишь о частном случае, когда процесс-"родитель" еще жив на этот момент.

Под НТ для получения достаточно детальной информации об интересующем  процессе см. NtQueryInformationProcess()


Warlock_   (2006-02-13 10:37:00) [4]

2evvcom : пишу перехватчик :) нада будет моей экзешкой кое-что подменить, ее (прогу) будут часто запускать, а она будет стучать куда надо (кто ее запускает :). Для полной информативности нехватает только (см. выше) Остальное все есть

2Digitman Ну наверно Handle ОКНА первой программы... Хз, какая разница... я же написал, что меня устроит и путь (собственно хендл я прошу, чтобы потом путь найти, мне хоть будет от чего оттолкнуться).

2All А то, что так делать можно УВЕРЕН, потому что и "Process Explorer" Руссиновича (www.sysinternals.com) и тот же "FAR" показывает, так называемый "Parent PID". Вот только как???

ЗЫ: Я уже удолбал всех знакомых этим вопросом - никто не знает, мож хоть здесь мне помогут...


Digitman   (2006-02-13 08:50:00) [5]


> Warlock_   (13.02.06 05:29)  


Что по-твоему есть "handle программы" ?


evvcom   (2006-02-13 08:40:00) [6]

зачем?


Наверх

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