-
как запустить программу через командную строку с параметрами?
как программно запустить 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 всё ок!
ХЕЛП! ПЛИЗ! -
Юрий Зотов © (11.05.09 11:36) [1]Попробуйте так:CreateProcess(nil, PChar(CommandLine), ...)
и в CommandLine передавайте полную командную строку:E:\Convektor\CONV3DS.EXE" -x aP4.3DS -
Anatoly Podgoretsky © (11.05.09 15:22) [2]aP4.3DS надо указать полное имя.
-
вот рабочая версия!
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 © (11.05.09 16:13) [4]Это и есть полное имя E:\Convektor\aP4.3DS, только разбитое на две части.
-
Anatoly Podgoretsky © (11.05.09 16:15) [5]Кстати это не одно и тоже, что ExecAndWait - работает по разному.
-
Юрий Зотов © (11.05.09 18:43) [6]> vvavva © (11.05.09 15:58) [3]
А ожидание завершения? Или не нужно? -
Игорь Шевченко © (11.05.09 22:14) [7]
> E:\Convektor
слово какое-то знакомое. Был уже на нашей памяти "конвектор форматов" небезызвестный -
Германн © (12.05.09 01:12) [8]
> Игорь Шевченко © (11.05.09 22:14) [7]
Было.
И-нет - "всемирная помойка"!
А где ты думаешь автор "надыбал" сию реализацию функции ExecAndWait?