Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.08.2014, 20:38
Аватар для JimBeam
JimBeam JimBeam вне форума
Прохожий
 
Регистрация: 23.08.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
Смущение Заново показать форму после завершения стороннего процесса, запущенного из неё

Добрый вечер! Имеется форма, на которой расположена кнопка, по нажатии которой, открывается сторонняя программа через CreateProcess и форма становится невидимой. Вопрос: как сделать так, чтобы после завершения процесса программы, форма обратно становилась видимой?
Вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 FillChar(StartUpInfo, SizeOf(TStartUpInfo), 0);
  with StartUpInfo do
  begin
    cb := SizeOf(TStartUpInfo);
    dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
    wShowWindow := SW_SHOWNORMAL;
    form1.visible:=false;
  end;
  Rlst := CreateProcess(ПРОГРАММА.exe', '', nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);
  if Rlst then
  with ProcessInfo do begin
    WaitForInputIdle(hProcess, INFINITE);
    form1.visible:=true;
    CloseHandle(hThread);
    CloseHandle(hProcess);

  end
else Error := GetLastError;
end;
Заранее спасибо!
Ответить с цитированием
  #2  
Старый 23.08.2014, 20:43
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

http://stackoverflow.com/questions/9...ss-to-finish-c
Цитата:
You just call WaitForSingleObject on the handle CreateProcess returns.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 23.08.2014, 20:50
Аватар для JimBeam
JimBeam JimBeam вне форума
Прохожий
 
Регистрация: 23.08.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
Прошу прощения, но в какое именно место это вставлять? Если Вам не трудно, можете написать готовый код?
Ответить с цитированием
  #4  
Старый 23.08.2014, 22:42
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот пример из DRKB на основе того же кода
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
JimBeam (24.08.2014)
  #5  
Старый 24.08.2014, 10:53
Аватар для JimBeam
JimBeam JimBeam вне форума
Прохожий
 
Регистрация: 23.08.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Вот пример из DRKB на основе того же кода
Огромнейшее Вам спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter