Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
9-1111326224
BREVIS
2005-03-20 16:43
2005.06.29
Где взять документацию по GLScene?


5-1088249593
Виталя
2004-06-26 15:33
2005.06.29
Событие OnExit для наследника TEdit


6-1112005371
DICE
2005-03-28 14:22
2005.06.29
Подключение к онлайновой игре


3-1116490231
msguns
2005-05-19 12:10
2005.06.29
Как задать регистр в ACCESS


3-1116249702
juice
2005-05-16 17:21
2005.06.29
Создатель базы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский