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

Вниз

Как проследить закрытие 2 программы из 1 программы.   Найти похожие ветки 

 
James1981Bond ©   (2003-12-12 20:28) [0]

У меня есть две программы, написанных мной, первая на Delphi,
а вторая на C++Builder, из первой я запускаю вторую функцией
ShellExecute. После запуска 2 программы я блокирую работу с 1
программой, а чтобы разблокировать мне надо проследить закрытие
2 программы. Как это проследить? (Если можно примерчик, небольшой)
Благодарю заранее!!!


 
Zhirnov Maxim ©   (2003-12-12 20:39) [1]

На счёт ShellExecute не знаю (не пробовал никогда), но вот как это можно сделать через "ручное" создание процессов.
----------------
var
pStartupInfo: StartupInfo;
pProcessInformation: Process_Information;
begin
pStartupInfo.cb := SizeOf( StartupInfo );
pStartupInfo.lpReserved := nil;
pStartupInfo.lpDesktop := nil;
pStartupInfo.lpTitle := nil;
pStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
pStartupInfo.wShowWindow := SW_SHOWDEFAULT;
pStartupInfo.cbReserved2 := 0;
pStartupInfo.lpReserved2 := nil;

If not CreateProcess( PChar( Edit1.Text ), nil, nil, nil, True,
CREATE_DEFAULT_ERROR_MODE, nil, nil, pStartupInfo,
pProcessInformation ) then
MessageBox( Handle, PChar( IntToStr( GetLastError ) ), "Код ошибки", MB_IconError)
Else
begin
WaitForSingleObject( pProcessInformation.hProcess, Infinite );
CloseHandle( pProcessInformation.hProcess );
end;
----------------
В Edit1.Text должен быть путь к EXE"шнику.
Infinite означает, что пока не завершиться запущенный процесс, процесс запустивший будет "висеть" вечно.


 
James1981Bond ©   (2003-12-13 00:12) [2]

Спасибо за ответ. Все получилось.
У меня еще вопрос:
Можно ли запустить из первой программы вторую и открыть сразу определенное дочернее окно второй программы?


 
James1981Bond ©   (2003-12-13 12:44) [3]

Можно ли запустить из первой программы вторую и открыть сразу определенное дочернее окно второй программы?



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-86370
OlegM
2003-12-16 07:30
2003.12.26
Отчистить компонент Image от изображения как


1-86408
TUser
2003-12-14 19:32
2003.12.26
Only tray


14-86541
Ske4er
2003-12-03 06:27
2003.12.26
Выключение монитора


1-86409
Вадим
2003-12-14 21:24
2003.12.26
Кнопка на панели задач


1-86412
Makhanev A.S.
2003-12-14 01:48
2003.12.26
Как принято