Запуск другой программы (функция WinExec)

Создавая свои приложения на Delphi можно включать уже готовые программы. Например Вы создали бухгалтерскую программу и хотелось бы что бы в ней был интегрирован простой калькулятор. А операционная система windows нам поставляет в готовом виде калькулятор. Давайте рассмотрим как это можно сделать.

Мы воспользуемся API функцией WinExec. Она простая и полный вид ее записи такой: WinExec(lpCmdLine: LPCSTR, uCmdShow: UINT): UINT.

lpCmdLine - команда командной строки или имя программы. Если не указан путь исполняемого файла, то поиск файла будет производиться в следующих каталогах:

  • в том каталоге где запущено приложение,
  • в каталоге windows,
  • в системном каталоге windows,
  • в каталогах, путь поиска которых прописан командой PATH.

Параметр uCmdShow - задает способ отображения окна запускаемого приложения. Важные значения uCmdShow:

  • SW_HIDE — окно скрыто,
  • SW_ShowMaximized — окно максимально развернуто,
  • SW_ShowMinimized — окно свернуто,
  • SW_ShowNormal — вид окна обычный.

Запустив любое приложение оно в последствии будет выполняться, также как и обычно, вне зависимости от запустившего приложения.

Функция WinExec  возвращает результат, это число, значение которого при удачном выполнении будет больше 31.

Ну а теперь давайте на форму расположим меню и для пункта меню "Калькулятор" напишем такой обработчик:

procedure TForm1.N1Click(Sender: TObject);
begin
    WinExec(Pchar('calc.exe'), SW_SHOWNORMAL);
end;

Запустив приложение мы одним щелчком запускаем нужный нам калькулятор.

Итог: мы познакомились с функцией Delphi WinExec и узнали как ее применять.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>