Главная страница
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.012 c
1-86431
Шустрый
2003-12-09 20:11
2003.12.26
Правка текста


3-86248
Василий
2003-12-03 02:44
2003.12.26
Как программно создать файл базы данных FireBird ?


1-86372
Release
2003-12-15 15:35
2003.12.26
Преборазование типов


14-86503
k-man
2003-12-03 22:37
2003.12.26
Страдаю от безработицы :)


14-86553
smu
2003-12-04 08:30
2003.12.26
Почему приходится постоянно переписывать программы?