Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Handle процесса который запустил мой процесс   Найти похожие ветки 

 
Леприкон ©   (2005-04-27 08:50) [0]

Как узнать идентификатор процесса который запустил мой процесс?


 
Digitman ©   (2005-04-27 08:57) [1]

а если тот процесс, который запустил твой процесс, уже завершился на этот момент ? о каком, спрашивается, его ид-ре может идти речь. если процесса уже "нет в живых" ?


 
Леприкон ©   (2005-04-27 09:09) [2]

Хорошо, тогда конкретизирую.
Есть некоторый ("чужой") exe модуль который по нажатию нек. горячих клавиш выполняет какое то действие. Из главного меню его окна вызывается мой exe, который выполняет свою задачу и перед закрытием должен послать "запустившему" комбинацию горячих клавиш. С посылом клавиш нет проблем, но нужно знать handle окна процесса. С поиском окна будут проблемы, т.к. возможен запуск неск. копий "чужого" процесса с одинаковыми заголовками окон.


 
Digitman ©   (2005-04-27 09:28) [3]


> должен послать "запустившему" комбинацию горячих клавиш


а он, "запустивший процесс", ее, комбинацию эту твою, "ждет" ?
он вообще-то ждет завершения твоего процесса перед тем как завершиться самому ? или запустил тебя и волен тут же завершиться ?
это где-то в док-ции "чужого ЕХЕ" описано хоть как-то ?


 
Леприкон ©   (2005-04-28 11:44) [4]


> Digitman ©   (27.04.05 09:28) [3]

Чужой процесс - пользовательский интерфейс некой системы для работы с базой данных. Пусть по Ctrl+R он обновляет данные в гриде.
Мой процесс - мастер (просто форма с "Далее" "Назад"). Производит некоторые действия с базой, кот. не заложены в функционале системы. После их завершения должен послать Ctrl+R интерфейсу системы.


 
Evgeny V ©   (2005-04-28 15:30) [5]

Сергей привет! ID родительского процесса процесса можно попробовать найти например через Process32First (cм  так же  Process32Next, CreateToolhelp32Snapshot,cтруктуру PROCESSENTRY32). Ищешь свой процесс и получашь ID создавшего его процесса. Далее в этом случае  надо перебрать окна EnumWinows, и затем проверить в цикле GetWindowThreadProcessId  ID их процессов. Наверняка не оптимально, но как вариант на скорую руку. Минусы возможны такие:
а если у твоего родительского процесса не одно окно, в какое слать нажатие клавиши?
Ну и возможно конечно, что процесс уже не будет присутствовать в системе, как говорил Digitman.
Вопрос - а это совсем чужой процесс (не ваша задача) или все же написан у вас же, то есть можно ли в нем предусмотреть (переписать, дописать .... )  что-то более используемое в части обмена данными между процессами?


 
Игорь Шевченко ©   (2005-04-28 15:47) [6]

Леприкон ©   (27.04.05 09:09) [2]

Читал бы ты документацию по чужому процессу лучше.


 
Ученик   (2005-04-29 23:58) [7]

>Леприкон ©   (27.04.05 09:09) [2]
А чужой процесс не может передавать параметры при запуске ?



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
3-1115988608
Inuendo
2005-05-13 16:50
2005.06.29
форматирование полей в DBGrid


4-1115586895
Wer
2005-05-09 01:14
2005.06.29
Del programm


6-1111926043
Mylen Farmer
2005-03-27 16:20
2005.06.29
Проверка состояния соединения


8-1110281448
Vir_
2005-03-08 14:30
2005.06.29
Вывод текста в OpenGL


3-1116841354
ass1
2005-05-23 13:42
2005.06.29
isc4.gdb