PDA

Просмотр полной версии : Запуск cmd с параметрами [delphi]


FairHawk
11.04.2010, 13:40
Народ, нужно запустить cmd, с 2 командами,
как это сделать в одном окне?
Пишу

ShellExecute(hInstance,'open', путь к файлу, параметры, 0,SW_SHOWNORMAL);

Теперь нужно выполнить еще одну команду, как теперь сделать что бы она писалась тут же ?

slesh
11.04.2010, 13:59
WinExec('cmd.exe /c "prog.exe param1 && prog2.exe param2" ', SW_SHOW) и будет тебе счастье.

FairHawk
11.04.2010, 14:04
slesh о спс великий и могучий))

slesh
11.04.2010, 14:14
Или можно так:

AllocConsole;
WinExec('prog1.exe param1', sw_show);
WinExec('prog2.exe param2', sw_show);
WinExec('cmd /c pause', sw_show);
FreeConsole;


Этот код вызовет новое консольно окно, куда будет писать весь вывод этим прог.
Потом нужно будет нажать энтер.
Но есть одно но! проги запустятся почти параллельно

FairHawk
11.04.2010, 14:20
Все. со всем разобралься, спс

M_script_
11.04.2010, 14:23
slesh, MSDN не рекомендует WinExec юзать ;)

FairHawk
11.04.2010, 15:10
А что если пусть к программе, лежит в папке, содержащию пробелы?
Поджскажите как проблему решить можно?

slesh
11.04.2010, 15:56
2 FairHawk юзать или короткий формат типа progra~1 Или брать в кавычки.
2 M_script_ знаю. Они оооочень много чего не рекомендую. В данном случае считается она устаревшей и нужно юзать CreateProcess но WinExec проще использовать) и осталась она ради совместимости.

В ядре тоже есть куча спец функций, которые не рекомендовано использовать

FairHawk
11.04.2010, 16:43
slesh спс