Вниз
Скачать: CL | DM;

запуск   Найти похожие ветки 

← →
Ag2002   (2002-11-20 18:22) [0]

Подскажите пожалуйста как запустить, внешние приложение, только так чтобы оно не закрывалось по завершению моей программы, а продолжало работу, если можно пример !!!


← →
Marcus   (2002-11-20 18:40) [1]

А почему ты решил, что оно должно закрыться? Это ж не дочернее окно, а автономное приложение. ShellExecute, WinExec, CreateProcess - кого хочешь выбирай


← →
Ag2002   (2002-11-20 18:43) [2]

На сколько мне известно CreateProcess самое лучшие !!!
Если можно пример !!!
А вот ShellExecute - закрывет тотже експлорер !!!


← →
Marcus   (2002-11-20 18:51) [3]

function MyCreateProcess(const AppName: string; const CmdLine: string; WorkDir: PChar): boolean;
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;
begin
ZeroMemory(@si, SizeOf(si));
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
Result := CreateProcess(nil, PChar(Format(""%s" "%s"", [AppName, CmdLine])), nil, nil, FALSE,
NORMAL_PRIORITY_CLASS, nil, WorkDir, si, pi);
CloseHandle(pi.hProcess);
end;


← →
Ag2002   (2002-11-21 10:46) [4]

AppName - должно быть имя exe файла
WorkDir - католог где он находится ?
а CmdLine можно оставлять пустым да ?


← →
Ag2002   (2002-11-22 14:39) [5]

Помогите выходит большой "бок", с использованием выше указаной функции или в моей пороги !!!
Я храню список файлов которые хочу запусать в комоненте ListView, по нажатию на кнопку я хочу запустить файл который выделен у меня в ListView:

...
s := trim(ListView1.Selected.Caption);
s1 := ExtractFilePath(s);
if not MyCreateProcess(ExtractFileName(s),"",Pchar(s1)) then showmessage("Файл незапущен!!!");
...

но почему-то всегда запускается файл который занесён в список последним ?почему, проверял по шагово всё в функцию передаётся правельно и имя фалй и путь ? в чем глюк ?


← →
Ag2002   (2002-11-22 17:50) [6]

rt


← →
KoluChi ©   (2002-11-22 17:56) [7]

MyCreateProcess?


← →
Marcus   (2002-11-22 18:07) [8]

В функцию CreateProcess можно передать AppName - путь к экзешнику, CmdLine - его параметры ком. строки. Если AppName = nil, то CmdLine путь к exe и через пробел параметры. WorkingDir можно оставить пустым, воспримет текущий каталог как рабочий. Это все, если файл - исполняемый, а если документ, то сначала нужно найти для него экзешник FindExecutable, а затем подсунуть в CreateProcess. А чем тебе ShellExecute не угодила? Удобней же



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
6-4525
Keplin Sergey
2002-10-03 21:39
2002.12.02
Ловить трафик и отдавать


3-4224
kserg@ukr.net
2002-11-13 16:51
2002.12.02
Как подключиться к


14-4572
masterlomaster
2002-11-11 19:26
2002.12.02
билн помогите............


3-4225
Yazilimci
2002-11-14 12:00
2002.12.02
ADO v DELPHI


1-4266
Gregory
2002-11-18 16:03
2002.12.02
Работа с Excel!




   Наверх