Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск стороннего приложения


Ламот ©   (2006-04-04 14:14:00) 

Добрый день, подскажите пож., необходимо запустить "чужое" приложение, дождаться пока оно отработает (будет закрыто пользователем) и продолжить выполнение своей программки... если мне не изменяет память - была когда-то соответствующая функция, которой в качестве параметров передовался путь к приложению и флаги (в том числе - ждать)... ежелить такие функции есть - напомните пож. как они звучат (называются).
Зарание пасиба! ))


Ламот   (2006-04-06 15:22:00) [1]

2 Desdechado © - ого! надеюсь я таких запускать не стану...! )))


Desdechado   (2006-04-06 12:12:00) [2]

с запускателями есть еще нехрошая фича - 16-битные программы очень тяжело отследить, дышит он а или уже отдышалась, ибо запускаются через ntvdm


Ламот   (2006-04-06 11:54:00) [3]

2 Leonid Troyanovsky © - Дякую, пробую... ))


Leonid Troyanovsky   (2006-04-06 11:50:00) [4]


> Ламот   (06.04.06 11:35) [9]

> Еще вопрос — как можно прочитать параметры, передаваемые
> моей программе из командной строки?


ParamStr

--
Regards, LVT.


Ламот   (2006-04-06 11:35:00) [5]

Надеюсь я не сильно надоел? ))
Еще вопрос — как можно прочитать параметры, передаваемые моей программе из командной строки?


Ламот   (2006-04-06 09:25:00) [6]

2 MBo © - от теперь точно ОНО, пасиба! )))
2 Khim © - пасибо за участие...
2 TUser © - Ого! первый раз вижу подобные кострукции в Var'e... ща буду пробовать! )))

В общем рискну: всем еще раз пасиба, вопрос... "прикрыт", как минимум до появления новых! :))


Anatoly Podgoretsky   (2006-04-05 20:04:00) [7]

Khim ©   (05.04.06 19:08) [5]
h:=findwindow('nil','заголовок окна')<>0 then

А это что такое, хочешь сказать, что Дельфи это съест?


TUser   (2006-04-05 19:33:00) [8]

procedure RunAndWait;
var
{$ifdef fpc}
  PI:_PROCESS_INFORMATION;
  SI:STARTUPINFO;
{$else}
  SI: _STARTUPINFOA;
  PI: _PROCESS_INFORMATION;
{$endif}
begin
  FillChar(SI, sizeof(SI), #0);
  SI.cb:=sizeof(SI);
  FillChar(PI, sizeof(PI), #0);
  CreateProcess(nil,PAnsiChar(Command),nil,nil,false,0,nil,nil,SI,PI);
  WaitForSingleObject(PI.hProcess,INFINITE);
end;


Khim   (2006-04-05 19:08:00) [9]

var
h: hwnd;
begin
if findwindow('nil','заголовок окна')<>0 then
h:=findwindow('nil','заголовок окна')<>0 then
h-хендл твоего окна


MBo   (2006-04-05 17:48:00) [10]

в FAQ есть пример для CreateProcess


Ламот   (2006-04-05 17:41:00) [11]

... поторопился с выводами...
объясните пож.
1. ShellExecute() по моему должен возвращать хендл запущенного приложения или код ошибки, так?!
2. что такое 42 — это значение, которое возвращает мне ShellExecute(), когда отрабатывает без ошибки...
3. итого, мне нужно запустить приложение и получить его хендл, с createprocess - не разобрался (параметров там слишком много), WinExec - тоже хендла не возвращает... в какую сторону рыть?!
Извените если чересчур сумбурно получилось! ))


Ламот   (2006-04-04 14:24:00) [12]

2 Сергей М. © - дякую! вопросов больше не имеем! )))


Сергей М.   (2006-04-04 14:18:00) [13]

Среди стандартных ф-ций в составе Делфи таковых нет.

Запуск :

CreateProcess()
ShellExecute()

Ожидание :

WaitForSingleObject(), MsgWaitForMultipleObujects()


Наверх

Титульная страница Поиск, карта сайта Написать письмо