Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.014 c
4-4658
xyz
2002-10-16 23:21
2002.12.02
Пример Хука на окошко...


1-4459
Азазелло
2002-11-20 12:33
2002.12.02
Crystal Report 8.5 + VCL


14-4629
iNew
2002-11-11 17:44
2002.12.02
Слушайте, а как мне свою анкету отредактировать


1-4494
DVM
2002-11-20 17:07
2002.12.02
Кнопка, похожая на


1-4301
SiaCD
2002-11-19 19:47
2002.12.02
Дата создания файла...как поменять?