![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск стороннего приложения
Ламот © (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()