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

Вниз

как запустить программу через командную строку с параметрами?   Найти похожие ветки 

 
vvavva ©   (2009-05-11 11:08) [0]

как запустить программу через командную строку с параметрами?

как программно запустить CONV3DS.EXE с пораметрами и указанным файлом?
чтоб сконвертировал , то что нужно!
желательно код делфи!
у меня есть код но чёт я ни так делаю!? и в итоге ничего не выходит!


//Выполнить команду в командной строке
function ExecAndWait(const ExeName, Params: string; out ExitCode: Cardinal; Timeout: Cardinal = MaxInt): boolean;
var
 sui: TStartupInfo;
 pi: TProcessInformation;
begin
 ZeroMemory(@sui, SizeOf(sui));
 sui.cb := SizeOf(sui);
 Win32Check(CreateProcess(PChar(ExeName), PChar(Params), nil, nil, False, 0, nil,
   nil, sui, pi));
 try
   CloseHandle(pi.hThread);
   Result := WaitForSingleObject(pi.hProcess, Timeout) = WAIT_OBJECT_0;
   if Result then
     Win32Check(GetExitCodeProcess(pi.hProcess, ExitCode));
 finally
   CloseHandle(pi.hProcess);
 end;
end;

procedure ExecCommandLine(const Cmd: string);
var
 Dummy: Cardinal;
begin
 ExecAndWait(GetEnvironmentVariable("ComSpec"), "/C " + Cmd, Dummy);
end;

//Пример

procedure TForm1.Button1Click(Sender: TObject);
begin
 ExecCommandLine("rd /S /Q "c:\test""); // удаляем папку c:\test со всеми подпапками
end;


я запускаю так

ExecCommandLine(
 ""E:\Convektor\CONV3DS.EXE" -x aP4.3DS"
 );


CONV3DS кажись появляется но конвертации не происходит!

через ПУСК-ВЫПОЛНИТЬ- "E:\Convektor\CONV3DS.EXE" -x aP4.3DS всё ок!
ХЕЛП! ПЛИЗ!


 
Юрий Зотов ©   (2009-05-11 11:36) [1]

Попробуйте так:
CreateProcess(nil, PChar(CommandLine), ...)
и в CommandLine передавайте полную командную строку:
E:\Convektor\CONV3DS.EXE" -x aP4.3DS


 
Anatoly Podgoretsky ©   (2009-05-11 15:22) [2]

aP4.3DS надо указать полное имя.


 
vvavva ©   (2009-05-11 15:58) [3]

вот рабочая версия!

ShellExecute(0 //Handle родительского окна, в который будут передаваться сообщения запускаемого приложения.
           ,PChar("open") //По умолчанию open, если указать nil.
           ,PChar("E:\Convektor\CONV3DS.EXE") //имя файла или документа, интернет ссылка, e-mail адрес
           ,PChar("-x aP4.3DS") //параметры, передаваемые приложению в командной строке.
           ,PChar("E:\Convektor\") //каталог по умолчанию куда бут выложен результат
           ,SW_SHOWNORMAL //стиль окна
           );

пока что всем спасибо !


 
Anatoly Podgoretsky ©   (2009-05-11 16:13) [4]

Это и есть полное имя E:\Convektor\aP4.3DS, только разбитое на две части.


 
Anatoly Podgoretsky ©   (2009-05-11 16:15) [5]

Кстати это не одно и тоже, что ExecAndWait - работает по разному.


 
Юрий Зотов ©   (2009-05-11 18:43) [6]

> vvavva ©   (11.05.09 15:58) [3]

А ожидание завершения? Или не нужно?


 
Игорь Шевченко ©   (2009-05-11 22:14) [7]


> E:\Convektor


слово какое-то знакомое. Был уже на нашей памяти "конвектор форматов" небезызвестный


 
Германн ©   (2009-05-12 01:12) [8]


> Игорь Шевченко ©   (11.05.09 22:14) [7]

Было.
И-нет - "всемирная помойка"!
А где ты думаешь автор "надыбал" сию реализацию функции  ExecAndWait?



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
2-1283688884
nubik
2010-09-05 16:14
2010.11.28
Как вывести в сообщении знак


2-1283333735
istok
2010-09-01 13:35
2010.11.28
как лучше сделать Dashboard...


15-1282339535
старый ламер
2010-08-21 01:25
2010.11.28
Как быстрее влиться в проект.


15-1281986143
Дмитрий С
2010-08-16 23:15
2010.11.28
Активность firefox


2-1283525403
Zhen73
2010-09-03 18:50
2010.11.28
Как запустить приложение из программы и не зависить от него