Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вызов других приложений





 

Цель: изучение способов прямого вызова других приложений из собственной программы, то есть запуск посторонних программ без помощи «Проводника» операционной системы.

 

Иногда перед программистом может возникнуть задача запуска других приложений из своей программы. Для таких случаев предусмотрено система API Windows (Application Program Interface Windows). Это обширная библиотека подпрограмм (процедур и функций), встроенных в операционную систему.

 

Откроем новый проект и придадим следующий вид нашему приложению:

Подготовим документы форматов txt, doc и xls. Сохраним их в той же директории где находится исполняемый модуль нашего проекта.

Теперь переходим непосредственно к программированию самих кнопок запуска.

 

Кнопка «execlp +NotePad». Функция execlp позволяет выполнить из своего приложения любое указанное приложение, передав ему управление. Таким образом, родительское приложение завершается и начинается новое.

Записываем приложение process.h в директивой #include:

int execlp(char *path, char *param1, *param2, …*paramn, NULL)

Функция execlp возвращает 0 при успешной загрузке нового приложения, а при ошибке возвращает -1 (ShowMessage(“Текстовый редактор не запущен”);

).

 

Кнопка «WinExec +NotePad». WinExec позволяет управлять формой представления окна запускаемого приложения. Функцию опре­деляем следующим образом:

int WinExec(const char *CmdLine, unsigned int CmdShow);

Функция может возвратить значения:

Возвращаемое значение Описание
  Не хватает памяти
ERROR_BAD_FORMAT Неправильный формат выполняемого exe-файла
ERROR_FILE_NOTFOUND Файл не найден
ERROR_PATH_NOTFOUND Каталог не найден

 

Задаем кнопке код:

int n;

if (OpenDialog1->Execute())

{ n=WinExec(OpenDialog->FileName.c_str(),SW_REStORE)

БЛА БЛА БЛа БЛА БЛА БЛА”);

break;

case ERROR_FILE_NOTFOUND:

ShowMesage(“Файл не найден”);

}//конец оператора case и switch

}//конец оператора if

 

Кнопка «WinExec +OpenDialog».

Настраиваем фильтр для OpenDialog:

программы *.exe;*.com
все файлы *.*

Присваиваем кнопке код:

int n;

if (OpenDialog1->Execute())

{ n=WinExec(OpenDialog->FileName.c_str(),SW_REStORE)

БЛА БЛА БЛа БЛА БЛА БЛА”);

break;

case ERROR_FILE_NOTFOUND:

ShowMesage(“Файл не найден”);

}//конец оператора case и switch

}//конец оператора if

 

Кнопка «ShellExecute +<имя файла>». Функция позволяет открыть указанную папку, запустить приложение и загрузить в него нужный файл.

Добавляем в модуль директиву препроцессора

#include “ShellAPI.h”

В процедуре ShellExecute указываем интересующий нас файл.

Добавляем кнопке код:

int n;

if (OpenDialog1->Execute())

{ n=WinExec(OpenDialog->FileName.c_str(),SW_REStORE)

БЛА БЛА БЛа БЛА БЛА БЛА”);

break;

case ERROR_FILE_NOTFOUND:

ShowMesage(“Файл не найден”);

}//конец оператора case и switch

}//конец оператора if

 

 

Аналогично программируем кнопка «ShellExecute +OpenDialog»

Код:

 

int n;

if (OpenDialog1->Execute())

{ n=WinExec(OpenDialog->FileName.c_str(),SW_REStORE)

БЛА БЛА БЛа БЛА БЛА БЛА”);

break;

case ERROR_FILE_NOTFOUND:

ShowMesage(“Файл не найден”);

}//конец оператора case и switch

}//конец оператора if

 

Date: 2015-12-12; view: 250; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию