На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> как запустить программу через командную строку с параметрами?
    как запустить программу через командную строку с параметрами?

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

    ExpandedWrap disabled
      //Выполнить команду в командной строке
      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;


    я запускаю так
    ExpandedWrap disabled
      ExecCommandLine(
        '"E:\Convektor\CONV3DS.EXE" -x aP4.3DS'
        );


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

    через ПУСК-ВЫПОЛНИТЬ- "E:\Convektor\CONV3DS.EXE" -x aP4.3DS всё ок!
    ХЕЛП! ПЛИЗ!
      См. ShellExecute.
        Profi
        попробовал так , но результата нет!
        ExpandedWrap disabled
          ShellExecute(0 //Handle родительского окна, в который будут передаваться сообщения запускаемого приложения.
                      ,PChar('open') //По умолчанию open, если указать nil.
                      ,PChar('E:\Convektor\CONV3DS.EXE') //имя файла или документа, интернет ссылка, e-mail адрес
                      ,PChar('-x aP4.3DS') //параметры, передаваемые приложению в командной строке.
                      ,nil //каталог по умолчанию.
                      ,SW_SHOWNORMAL //стиль окна
                      );

        окно появляется, исчезает и всё!
        мож я параметры не правильно передаю!?
          А если
          ExpandedWrap disabled
            E:\Convektor\CONV3DS.EXE -x aP4.3DS

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

                пока что всем спасибо ! :P
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0338 ]   [ 16 queries used ]   [ Generated: 27.04.24, 16:59 GMT ]