Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.187.178] |
|
Сообщ.
#1
,
|
|
|
как запустить программу через командную строку с параметрами?
как программно запустить 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 всё ок! ХЕЛП! ПЛИЗ! |
Сообщ.
#2
,
|
|
|
См. ShellExecute.
|
Сообщ.
#3
,
|
|
|
Profi
попробовал так , но результата нет! ShellExecute(0 //Handle родительского окна, в который будут передаваться сообщения запускаемого приложения. ,PChar('open') //По умолчанию open, если указать nil. ,PChar('E:\Convektor\CONV3DS.EXE') //имя файла или документа, интернет ссылка, e-mail адрес ,PChar('-x aP4.3DS') //параметры, передаваемые приложению в командной строке. ,nil //каталог по умолчанию. ,SW_SHOWNORMAL //стиль окна ); окно появляется, исчезает и всё! мож я параметры не правильно передаю!? |
Сообщ.
#4
,
|
|
|
А если
E:\Convektor\CONV3DS.EXE -x aP4.3DS Прописать четвертым параметром, где Цитата vvavva @ //параметры, передаваемые приложению в командной строке. |
Сообщ.
#5
,
|
|
|
vvavva, я как понимаю aP4.3DS это какой-то файл? Если да, то все может быть из-за неправильного относительного пути, попробуй передавать абсолютный. Если поможет, можешь указывать каталог по умолчанию и все.
|
Сообщ.
#6
,
|
|
|
aP4.3DS надо указать полное имя.
|
Сообщ.
#7
,
|
|
|
вот рабочая версия!
ShellExecute(0 //Handle родительского окна, в который будут передаваться сообщения запускаемого приложения. ,PChar('open') //По умолчанию open, если указать nil. ,PChar('E:\Convektor\CONV3DS.EXE') //имя файла или документа, интернет ссылка, e-mail адрес ,PChar('-x aP4.3DS') //параметры, передаваемые приложению в командной строке. ,PChar('E:\Convektor\') //каталог по умолчанию куда бут выложен результат ,SW_SHOWNORMAL //стиль окна ); пока что всем спасибо ! |