Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

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

 
Ламот   (2006-04-04 14:14) [0]

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


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

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

Запуск :

CreateProcess()
ShellExecute()

Ожидание :

WaitForSingleObject(), MsgWaitForMultipleObujects()


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

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


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

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


 
MBo ©   (2006-04-05 17:48) [4]

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


 
Khim ©   (2006-04-05 19:08) [5]

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


 
TUser ©   (2006-04-05 19:33) [6]

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;


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

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

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


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

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

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


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

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


 
Leonid Troyanovsky ©   (2006-04-06 11:50) [10]


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

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


ParamStr

--
Regards, LVT.


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

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


 
Desdechado ©   (2006-04-06 12:12) [12]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
2-1144261014
MVP
2006-04-05 22:16
2006.04.23
Оптимизация хранения данных для транслятора, который рисует фигур


2-1144171420
Gear
2006-04-04 21:23
2006.04.23
динамическое создание кнопок на ToolBar


2-1144740195
User_OKA
2006-04-11 11:23
2006.04.23
Процедура с параметром


1-1142766204
ho5ok
2006-03-19 14:03
2006.04.23
Socket showmessage( no connection );


3-1140686213
ganda
2006-02-23 12:16
2006.04.23
MyODBC+ADO