Форум: "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