Главная страница
    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.45 MB
Время: 0.007 c
14-86516
Вованчик
2003-12-04 10:48
2003.12.26
Типа день информатики


1-86334
Mishenka
2003-12-12 21:43
2003.12.26
Как обнулить содержимое StringGrid?


1-86437
Chuha
2003-12-13 14:05
2003.12.26
Qreport


1-86361
Werewolf
2003-12-12 10:38
2003.12.26
Как найти значение выражения


11-86325
DrFaust
2003-04-03 16:07
2003.12.26
TreeView Нужна помощь!





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