Главная » Delphi » Создание и выполнение процесса

0

Функция  ProcessExecute() инкапсулирует функцию  API  Win32  CreateProc- ess(), запускающую  другое приложение. Запускаемое приложение определяется па раметром CommandLine, содержащим путь к файлу. Второй параметр содержит одну из констант SW_XXXX, которая задает  способ  отображения окна.  В табл. 11.4 приведе ны различные константы SW_XXXX с объяснением их значений, взятым  из интерак тивной справочной системы.

Таблица 11.4. Константы SW_XXXX

Константа SW_XXXX         Значение

SW_HIDE                 Скрывает текущее окно. Активным становится другое окно SW_MAXIMIZE      Отображает окно развернутым до максимума SW_MINIMIZE    Сворачивает окно

SW_RESTORE         Отображает окно  с  тем  размером, который  оно  имело перед  последним разворачиванием или сворачиванием

SW_SHOW                 Отображает окно в его текущем размере и позиции

SW_SHOWDEFAULT          Отображает окно  в виде,  который определен структурой

TStartupInfo, передаваемой функции CreateProcess() SW_SHOWMAXIMIZED    Активизирует или отображает развернутое окно SW_SHOWMINIMIZED Активизирует или отображает свернутое окно SW_SHOWMINNOACTIVE  Отображает  окно   свернутым,  но   активное  в   данный

момент  окно остается таковымОкончание табл. 11.4.

Константа SW_XXXX         Значение

SW_SHOWNA          Показывает  окно   в  его   текущем   состоянии.  Активное окно остается таковым

SW_SHOWNOACTIVATE  Отображает окно  в таком  виде,  в каком  оно  отображалось последний раз. Текущее активное окно остается активным

SW_SHOWNORMAL      Активизирует или отображает окно  в таком  виде,  в каком оно  отображалось в последний раз.  Позиция окна  сохра няется, если оно было предварительно развернуто или свернуто

Функция   ProcessExecute() является  достаточно  удобной   утилитой,  которую следует выделить в отдельный модуль для использования другими приложениями.

Методы класса TddgRunButton

Конструктор TddgRunButton.Create() после вызова унаследованного конструк

тора просто устанавливает размеры объекта, принимаемые по умолчанию.

Метод SetCommandLine(), представляющий собой  метод  записи параметра Com- mandLine, выполняет несколько задач.  Во первых, он проверяет, является ли значе ние,  присваиваемое параметру  CommandLine, именем исполняемого файла  и,  если нет, передает исключение.

Проверенное значение присваивается полю  FCommandLine. Затем  функция Set- CommandLine() извлекает пиктограмму из файла  приложения и рисует ее на поверхно сти компонента TddgRunButton. Для этого  используется функция API Win32 Extrac- tIcon(). Объяснения данной технологии содержится в комментариях кода.

Метод TddgRunButton.Click() — это метод диспетчеризации события TSpeedBut- ton.OnClick. Здесь необходимо вызвать сначала  унаследованный метод Click(), вызы вающий  обработчик события OnClick (если он назначен). После  вызова  метода Click() вызывается функция ProcessExecute(), после  чего проверяется возвращаемое ею зна чение, чтобы выяснить, был ли этот вызов успешным. Если нет — передается исключение.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии