Запуск cmd с параметрами [delphi]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by FairHawk, 11 Apr 2010.

  1. FairHawk

    FairHawk Member

    Joined:
    16 Mar 2010
    Messages:
    46
    Likes Received:
    6
    Reputations:
    0
    Народ, нужно запустить cmd, с 2 командами,
    как это сделать в одном окне?
    Пишу

    Code:
    ShellExecute(hInstance,'open', путь к файлу, параметры, 0,SW_SHOWNORMAL);
    Теперь нужно выполнить еще одну команду, как теперь сделать что бы она писалась тут же ?
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    WinExec('cmd.exe /c "prog.exe param1 && prog2.exe param2" ', SW_SHOW) и будет тебе счастье.
     
  3. FairHawk

    FairHawk Member

    Joined:
    16 Mar 2010
    Messages:
    46
    Likes Received:
    6
    Reputations:
    0
    slesh о спс великий и могучий))
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Или можно так:
    Code:
    AllocConsole;
    WinExec('prog1.exe param1', sw_show);
    WinExec('prog2.exe param2', sw_show);
    WinExec('cmd /c pause', sw_show);
    FreeConsole;
    
    Этот код вызовет новое консольно окно, куда будет писать весь вывод этим прог.
    Потом нужно будет нажать энтер.
    Но есть одно но! проги запустятся почти параллельно
     
  5. FairHawk

    FairHawk Member

    Joined:
    16 Mar 2010
    Messages:
    46
    Likes Received:
    6
    Reputations:
    0
    Все. со всем разобралься, спс
     
    #5 FairHawk, 11 Apr 2010
    Last edited: 11 Apr 2010
  6. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    slesh, MSDN не рекомендует WinExec юзать ;)
     
  7. FairHawk

    FairHawk Member

    Joined:
    16 Mar 2010
    Messages:
    46
    Likes Received:
    6
    Reputations:
    0
    А что если пусть к программе, лежит в папке, содержащию пробелы?
    Поджскажите как проблему решить можно?
     
  8. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 FairHawk юзать или короткий формат типа progra~1 Или брать в кавычки.
    2 M_script_ знаю. Они оооочень много чего не рекомендую. В данном случае считается она устаревшей и нужно юзать CreateProcess но WinExec проще использовать) и осталась она ради совместимости.

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

    FairHawk Member

    Joined:
    16 Mar 2010
    Messages:
    46
    Likes Received:
    6
    Reputations:
    0
    slesh спс