Главная страница
    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.47 MB
Время: 0.044 c
1-1117972531
Серый
2005-06-05 15:55
2005.06.29
Как построить бинарное дерево с помощью "Тривиев"


9-1111308695
grouzd[E]v
2005-03-20 11:51
2005.06.29
ASCII и треугольник


1-1118174449
Pasha L
2005-06-08 00:00
2005.06.29
Директория из TSearchRec


3-1116060682
_e_u_
2005-05-14 12:51
2005.06.29
проблема с добавлением использованием записи


1-1118088637
01
2005-06-07 00:10
2005.06.29
что-то вроде ExtractFilePath(Application.ExeName)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский