![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обмен данными между процессами [D7, Win95/98, WinXP]
zero © (2007-03-26 14:36:00)У меня есть две программы, одна из программ запускает другую использую для этих целей функцию ShellExecute, у меня два вопроса
1. Допустим я запустил программу, как мне узнать, в программе из которой я запускаю программу, что запущенная программа закрылась после того как выполнила свои дейвствия ?
2. Как узнать из какой программы была запущена программа ?
Надо чтоб работало и под Win98, WinNT, Win2000 и WinXP
IceBeerg (2007-03-26 15:46:00) [21]
2 GrayFace © (26.03.07 15:42) [4]
> Плохой способ.
Согласен, но подскажи лучше.
GrayFace (2007-03-26 15:42:00) [22]IceBeerg © (26.03.07 15:28) [1]
1. Мониторить HWND (когда запускаеш - получай HWND запуценного процесса)
Плохой способ.
IceBeerg (2007-03-26 15:38:00) [23]1. The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.
HINSTANCEShellExecute(
HWND hwnd,
...
Return Values
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.
2. The GetParent function retrieves the handle of the specified child window's parent window.
HWND GetParent(
HWND hWnd // handle of child window
);
Parameters
hWnd
Identifies the window whose parent window handle is to be retrieved.
MBo (2007-03-26 15:34:00) [24]CreateProcess+WaitForSingleObject
IceBeerg (2007-03-26 15:28:00) [25]1. Мониторить HWND (когда запускаеш - получай HWND запуценного процесса)
2. Смотреть родительский ID (может быть не верным или приложения с такми ID может не быть)