Главная страница
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.017 c
14-86525
SergP
2003-12-01 22:46
2003.12.26
Помогите написать Select


1-86404
AndreySoft
2003-12-11 21:45
2003.12.26
Динамическре удаление компонентов...


1-86348
MakNik
2003-12-12 15:23
2003.12.26
CheckBox


14-86551
Alexey Lipatov
2003-12-02 16:24
2003.12.26
Пользовательские интерфейсы, откуда они взялись?


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