Как создать приложение для windows exe

Как создать программу *.exe

Одним из современных методов разработки ПО на сегодня считается создание программных компонентов, из которых может быть сформирован 1) программный комплекс любой сложности. Он постепенно заменяет старую методику создания монолитных программ 2) .

Отличным примером среды разработки, поддерживающей указанный современный метод, является BlackBox Component Builder, которая сама построена по данной методике. См. также:

Общие принципы создания exe-файлов

Для создания exe-файлов используется команда DevLinker.LinkExe. Например, самое маленькое приложение будет выглядеть так:

«^Q» обозначает коммандер. Щёлкнув последовательно по обоим коммандерам, вы получите файл Empty.exe размером 3’584 байт (3.5 Кб). При запуске он сразу же завершится с нулевым кодом выхода.

Этого уже достаточно для того, чтобы писать программы с использованием Windows API , например:

Полученная программа MoveWin.exe имеет размер 5’120 байт (5 Кб), а при запуске отображает окно с текстом «Click me» и «Esc — exit». При нажатии Esc или Alt+F4 программа завершается. При нажатии любой другой клавиши или щелчке левой кнопкой мыши по окну программы оно быстро перемещается на 50 шагов вправо-вниз, после чего возвращается в первоначальное положение. Обратите внимание, что MoveWin не использует динамическую память, поэтому не требует наличия модуля Kernel. Псевдомодули SYSTEM и WinApi не требуется указывать в команде LinkExe.

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

Иконка приложения будет взята из файла applogo.ico и включена в состав MoveWin.exe.

При любом варианте линковки требуется перечислить все модули, которые необходимо включить в файл. Это касается не только модулей, решающих конкретную задачу, но и всех импортируемых ими модулей. Модули в списке должны перечисляться в том порядке, в котором они будут загружаться в память. Например, имеется модуль:

Список линкуемых модулей должен выглядеть так: Log TestExe. На самом деле, указанный список модулей неполон, потому как модуль Log сам по себе никаких действий не производит. Для того, чтобы эта программа заработала, нужно добавить модуль реализации журнала, например WinConsole: Kernel+ Log Files Dialog Math Strings WinConsole TestExe. Обратите внимание, как распух список при добавлении одного модуля — пришлось перечислить всё, что импортирует он, и всё, что импортируют остальные модули. Знак »+» после модуля Kernel обязателен, и указывает на модуль ядра. Модуль Kernel используется, если в программе создаются объекты с помощью NEW (то есть практически всегда).

Если используется русифицированная (например, школьная) версия Блэкбокса, то первым в списке нужно указывать модуль National

Для автоматического создания списка необходимых модулей можно воспользоваться подсистемами Alm01Gather, Bbt или ert0dev. Для этого их нужно установить.

Вариант первый

Создание простого исполняемого файла выполняется командой вида

Для нашего примера команда будет выглядеть так:

Читайте также:  Xbox dvr как включить windows 10

Параметр dos перед именем файла указывает на необходимость создания консольного приложения. Для обычной программы никаких параметров указывать не надо. Файл будет создан в рабочем каталоге блэкбокса.

Полученная нами программа при запуске не выдаст ничего. Для того, чтобы она заработала, необходимо добавить пару строк:

Это связано с тем, что при исполнении exe, созданного командой DevLinker.LinkExe, выполняются все секции BEGIN всех перечисленных модулей. После того, как последний модуль отработает, вызываются все секции CLOSE, только в обратном порядке.

См. также: Console, модуль ConsoleTest.

Вариант второй

Создание «упакованных» файлов — набор необходимых для работы файлов (произвольного типа) приписывается в конец собранного exe-файла. Во время работы программы эти файлы доступны для чтения при использовании специальной реализации Files — HostPackedFiles.

Обычно придерживаются следующей схемы:

Припакованные файлы видны «под» файлами из ФС операционной системы: если в ФС и в наборе припакованных файлов содержится файл с одним и тем же именем (и путём), то читается файл из ФС. Эта схема аналогична серверной конфигурации ББ, и при её использовании добавляет «третий уровень» для чтения:

Данная схема может быть полезна при распространении и поддержке ПО, если одним из ключевых требований является минимум файлов в рабочем комплекте:

Команды для создания припакованных файлов описаны в документации модуля DevPacker. Пример использования имеется в следующем разделе.

Полноценный самостоятельный exe-файл на основе BlackBox

В русифицированной школьной версии BlackBox есть подсистема «Тренинг», содержащая диалоговое окно «тренажёра по склонению числительных». Однажды по просьбе А. И. Попкова мною (Александр Ильин) был изготовлен exe-файл, который позволял запустить данный тренажёр без установки BlackBox, т.е. достаточно было получить и запустить файл Training.exe. Тренажёр сотоял из единственного модуля Тренинг\Mod\Chals.odc (фигурирует как «ТренингChals» в параметрах команды LinkExe) и единственной диалоговой формы Тренинг\Rsrc\Chals.odc. Ниже приводится последовательность команд для создания Training.exe (всегда выполняйте все команды, иначе Блэкбокс после перезапуска будет работать неправильно из-за подмены модуля Config, об этом ниже):

Для того, чтобы при запуске Training.exe сразу же отображалось окно тренажёра, перед линковкой выполняется подмена стандартного модуля Config путём компиляции модуля ТренингConfigToPack (см. ниже). После линковки стандартный модуль возвращается на место путём компиляции исходного текста оригинального Config. После этого в созданный Training.exe командой DevPacker.PackThis добавляются два файла ресурсов: диалоговая форма «Тренинг/Rsrc/Chals.odc» и файл меню «Тренинг/Rsrc/MenuToPack.odc» (см. ниже). Последний при упаковке переименовывается в «System/Rsrc/Menus.odc», чтобы заменить собой стандартное меню BlackBox.

Модуль Config, находящийся в файле «Тренинг\Mod\ConfigToPack.odc»:

Файл меню «Тренинг\Rsrc\MenuToPack.odc»:

Полученный файл Training.exe имеет размер 1’014’054 байт, т.е. чуть больше 990 Кб, его можно скачать отсюда: zip-архив, 413’944 байта.

Автоматизация компоновки

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

Читайте также:  Linux для ноутбуков загрузить

Команды, подобные DevCompiler.CompileThis, DevLinker.Link и DevPacker.PackThis, берут параметры для обработки из текста, находящегося сразу после команды, что делает невозможным их использование в меню. Процедура PrivMake.ExecuteCommand создаёт текстовый объект с содержанием параметра «param» и подставляет его в переменную DevCommanders.par, откуда затем и производит чтение команда, находящаяся в параметре «cmd». Например, следующий коммандер:

можно записать так:

Обратите внимание, что завершающий символ «

» здесь не требуется.

С использованием модуля PrivMake запись команды получилась существенно длиннее, но

Проиллюстрирую последний пункт, создав процедуру для компоновки Training.exe:

Таким образом, четыре щелчка по коммандерам заменяются на один:

К сожалению, данный способ не будет работать в стандартном BlackBox 1.5 из-за ошибки в модуле DevPacker, которая приведёт к зацикливанию при разборе параметров команды PackThis, но эту ошибку легко исправить. Достаточно открыть исходный текст модуля DevPacker, найти в нём процедуру RemoveWhiteSpaces и заменить проверку (rd.Pos()

Авторы * : Горячев И.Н. Правки: Ильин А.С., PGR, Рюмшин Б.В.

Создание EXE файла

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

Способы создания

Существует два варианта создания EXE файла. Первый — это использование сред для программирования, а второй — применение специальных инсталляторов, при помощи которых создаются разные «репаки» и пакеты, устанавливаемые в один клик. Далее на примерах рассмотрим оба варианта.

Способ 1: Visual Studio Community

Рассмотрим процесс создания простой программы на основе языка программирования «Visual С++» и ее компиляции в Visual Studio Community.

    Запускаем приложение, заходим в меню «Файл», после чего жмем по пункту «Создать», а затем в открывшемся перечне на «Проект».

Открывается окно «Создание проекта», в котором нужно кликнуть сначала по надписи «Шаблоны», а потом «Visual С++». Далее выбираем «Консольное приложение Win32», задаем наименование и местоположение проекта. По умолчанию он сохраняется в рабочей директории Вижуал Студио Коммьюнити, в системной папке «Мои документы», но по желанию возможно выбрать другой каталог. По завершении настроек щелкаем «ОК».

В следующем окне определяем параметры приложения. В частности, выбираем «Консольное приложение», а в поле «Дополнительные параметры»«Пустой проект», сняв при этом галочку с «Предварительно скомпилированный заголовок».

Запускается проект, в котором нужно добавить область для записи кода. Для этого во вкладке «Обозреватель решений» жмем правой кнопкой мыши по надписи «Файлы ресурсов». Появляется контекстное меню, в котором последовательно кликаем на «Добавить» и «Создать элемент».

В открывшемся окошке «Добавить новый элемент» выбираем пункт «Файл С++». Далее задаем имя файла кода будущего приложения и его расширение «.с». Для изменения папки хранения нажимаем на «Обзор».

В результате появляется вкладка с заголовком «Source.с», в которой происходит набор и редактирование текста кода.

Далее необходимо скопировать текст кода и вставить в показанную на изображении область. В качестве примера возьмем следующее:

Читайте также:  Обои для windows 1024 768

int main(int argc, char* argv[]) <
printf(«Hello, World!»);
_getch();
return 0;
>

Примечание: Текст кода выше — это просто пример. Вместо него необходимо использовать собственный код для создания программы на языке «Visual С++».

После чего выскакивает уведомление, предупреждающее о том, что текущий проект устарел. Здесь необходимо нажать на «Да».

По завершении компиляции приложение выводит окно консоли, в котором будет написано «Hello, World!».

  • Созданный файл в формате EXE можем посмотреть при помощи Проводника Windows в папке проекта.
  • Способ 2: Инсталляторы

    Для автоматизации процесса установки ПО все более широкую популярность завоевывают так называемые инсталляторы. С их помощью создается софт, основной задачей которого является упрощение процесса развертывания ПО на компьютере. Рассмотрим процесс создания EXE файла на примере Smart Install Maker.

      Запускаем программу и во вкладке «Информация» редактируем наименование будущего приложения. В поле «Сохранить как» нажимаем по значку папки для определения местоположения, куда будет сохранен выходной файл.

    Открывается Проводник, в котором выбираем желаемое расположение и кликаем «Сохранить».

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

    Далее открывается окно выбора файлов, где нужно щелкнуть на значок в виде папки.

    В открывшемся обозревателе обозначаем нужное приложение (в нашем случае — это «Torrent», у вас же может быть любой другой) и кликаем на «Открыть».

    В результате в окне «Добавить запись» отображается файл с указанием пути его расположения. Остальные опции оставляем по умолчанию и жмем «ОК».

    Происходит процедура добавления исходного объекта в приложение и в специальной области софта появляется соответствующая запись.

    Далее нажимаем «Требования» и открывается вкладка, где нужно отметить список поддерживаемых операционных систем. Оставляем галочки на полях «Windows XP» и все, что идут ниже нее. На всех остальных полях оставляем рекомендуемые значения.

    Затем открываем вкладку «Диалоги», кликнув по соответствующей надписи в левой части интерфейса. Здесь все оставляем по умолчанию. Для того чтобы инсталляция проходила в фоновом режиме, можно выставить галочку в поле «Скрытая установка».

    По окончании всех настроек запускаем компиляцию, нажав на пиктограмму со стрелкой вниз.

    Происходит указанный процесс и в окошке выводится его текущий статус. По завершении компиляции можно провести тестирование созданного пакета или вовсе закрыть окно, щелкнув соответствующие кнопки.

  • Скомпилированное программное обеспечение можно найти при помощи Проводника Windows в той папке, который был указан при настройке.
  • Таким образом, в данной статье мы выяснили, что EXE файл может создаваться как при помощи специализированных сред разработки программ, например Visual Studio Community, так и специальными инсталляторами, к примеру, Smart Install Maker.

    Оцените статью