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

Обновлено: 01.07.2024

Приложения Microsoft Windows обычно пишутся либо как консольные, либо как оконные приложения (существуют и другие типы, такие как службы и подключаемые модули). Разница для программиста заключается в интерфейсе основной точки входа для исходного кода приложения, предоставленного программистом.

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

Точка входа исполняемого файла, вызываемая загрузчиком, не является основной точкой входа, предоставленной разработчиком приложения, а вместо этого представляет собой среду выполнения, предоставляемую компилятором и компоновщиком, который создает исполняемый файл. Среда выполнения настраивает среду для приложения, а затем вызывает основную точку входа, предоставленную программистом.

Консольное приложение Windows может иметь несколько слегка различающихся интерфейсов для основной точки входа, предоставленной программистом. Разница между ними заключается в том, является ли основной точкой входа традиционный тип int main (int argc, char *argv[]) или специфичная для Windows версия int _tmain(int argc, _TCHAR* argv[]), которая обеспечивает широкие символов в параметрах приложения. Если вы создаете проект консольного приложения Windows Win32 с помощью Visual Studio, сгенерированный исходный код будет конкретной версией Windows.

Приложение окна Windows (GUI) имеет другой интерфейс для основной точки входа, предоставляемой программистом. Эта основная точка входа, предоставляемая программистом, имеет более сложный интерфейс, поскольку среда выполнения настраивает среду графического интерфейса пользователя и предоставляет дополнительную информацию вместе с параметрами приложения.

В этом примере объясняется интерфейс основной точки входа в окне Windows (GUI). Для изучения этих тем у вас должны быть:

  • IDE с компилятором (желательно Visual Studio)
  • Знания C

Создайте пустой проект Windows Win32 (графический интерфейс, а не консоль) с помощью IDE. Параметры проекта должны быть установлены для оконного приложения (а не консольного приложения), чтобы компоновщик мог связать его с правильной средой выполнения. Создайте файл main.c, добавив его в проект, а затем введите следующий код:

Это наша программа Win32 "Hello, world". Первым шагом является включение заголовочных файлов Windows. Основной заголовок для всех Windows — это windows.h, но есть и другие.

WinMain отличается от стандартного int main(), используемого с консольным приложением. В интерфейсе используется больше параметров, и, что более важно, основная точка входа для оконного приложения использует соглашение о вызовах, отличное от стандартного C/C++.

Спецификатор APIENTRY указывает соглашение о вызовах, то есть порядок, в котором аргументы помещаются в стек † . По умолчанию соглашением о вызовах является стандартное соглашение C, обозначенное __cdecl . Однако Microsoft использует другой тип соглашения о вызовах, соглашение PASCAL, для функций Windows API, на что указывает квалификатор __stdcall. APIENTRY — это определенное имя для __stdcall в одном из файлов заголовков, включенных в windows.h (см. также Что такое __stdcall?).

Следующие аргументы WinMain следующие:

  • hInst: дескриптор экземпляра.
  • hInstPrev: дескриптор предыдущего экземпляра. Больше не используется.
  • cmdline: аргументы командной строки (см. Передача аргументов WinMain (или wWinMain) в обычный main)
  • cmdshow: указывает, должно ли отображаться окно.

Мы пока не используем ни один из этих аргументов.

Внутри WinMain() находится вызов MessageBox(), который отображает простое диалоговое окно с сообщением, окно сообщения. Первый аргумент — это дескриптор окна владельца. Поскольку у нас еще нет собственного окна, передайте NULL. Второй аргумент — основной текст. Третий аргумент — это заголовок, а четвертый аргумент содержит флаги. Когда передается 0, отображается окно сообщения по умолчанию. На приведенной ниже схеме показано диалоговое окно окна сообщения в разрезе.

введите здесь описание изображения

† Только для 32-разрядных систем. Другие архитектуры имеют другие соглашения о вызовах.

Обычно отправной точкой для программиста на C++ является "Привет, мир!" приложение, работающее в командной строке. Это то, что вы создадите в Visual Studio на этом шаге.

Предпосылки

  • Установите и запустите на своем компьютере Visual Studio с настольной разработкой с рабочей нагрузкой C++. Если он еще не установлен, см. раздел Установка поддержки C++ в Visual Studio.

Создайте проект приложения

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

В Visual Studio откройте меню «Файл» и выберите «Создать» > «Проект», чтобы открыть диалоговое окно «Создать новый проект». Выберите шаблон консольного приложения с тегами C++, Windows и Console, а затем нажмите кнопку Далее.

Создать диалоговое окно нового проекта». /><br /></p>
<p>В диалоговом окне HelloWorld в поле редактирования имени проекта. Выберите Создать, чтобы создать проект.

Снимок экрана диалогового окна

Visual Studio создает новый проект. Он готов для добавления и редактирования исходного кода. По умолчанию шаблон консольного приложения заполняет ваш исходный код приложением «Hello World»:

Снимок экрана проект Hello World в среде IDE

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

В Visual Studio откройте меню "Файл" и выберите "Создать" > "Проект", чтобы открыть диалоговое окно "Новый проект".

В диалоговом окне «Новый проект» выберите «Установлено» > «Visual C++», если он еще не выбран, а затем выберите шаблон «Пустой проект». В поле Имя введите HelloWorld. Нажмите OK, чтобы создать проект.

 Снимок экрана диалогового окна

Выбран и вызван Visual C plus plus, вызван параметр "Пустой проект" и введен Hello World в текстовое поле "Имя". />

Visual Studio создает новый пустой проект. Он готов для вас, чтобы специализироваться на типе приложения, которое вы хотите создать, и добавить файлы исходного кода. Вы сделаете это дальше.

Сделайте свой проект консольным приложением

Visual Studio может создавать любые приложения и компоненты для Windows и других платформ. В шаблоне «Пустой проект» не указано, какое приложение он создает. Консольное приложение – это приложение, которое запускается в консоли или в окне командной строки. Чтобы создать его, вы должны сообщить Visual Studio, что ваше приложение должно использовать консольную подсистему.

В Visual Studio откройте меню "Проект" и выберите "Свойства", чтобы открыть диалоговое окно "Страницы свойств HelloWorld".

В диалоговом окне «Страницы свойств» выберите «Свойства конфигурации» > «Компоновщик» > «Система», а затем выберите поле редактирования рядом со свойством «Подсистема». В появившемся раскрывающемся меню выберите Консоль (/SUBSYSTEM:CONSOLE). Нажмите OK, чтобы сохранить изменения.

Visual Studio теперь умеет создавать проект для запуска в окне консоли. Затем вы добавите файл исходного кода и введете код своего приложения.

Добавить файл исходного кода

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

В диалоговом окне "Добавить новый элемент" выберите Visual C++ в разделе "Установлено", если он еще не выбран. В центральной области выберите файл C++ (.cpp). Измените имя на HelloWorld.cpp. Выберите Добавить, чтобы закрыть диалоговое окно и создать файл.

Visual Studio создает новый пустой файл исходного кода и открывает его в окне редактора, готового для ввода исходного кода.

Добавить код в исходный файл

Скопируйте этот код в окно редактора HelloWorld.cpp.

Код должен выглядеть в окне редактора следующим образом:

Снимок экрана код Hello World в редакторе». /><br /></p>
<p>Когда код выглядит так в редакторе, вы готовы перейти к следующему шагу и создать свое приложение.</p>
<h2>Дальнейшие шаги</h2>
<h2>Руководство по устранению неполадок</h2>
<p>Здесь вы найдете решения распространенных проблем при создании своего первого проекта C++.</p>
<h3>Создайте проект приложения: проблемы</h3>
<p>В диалоговом окне

Чтобы установить Desktop Development с помощью C++, вы можете запустить программу установки прямо из диалогового окна New Project. Выберите ссылку «Установить дополнительные инструменты и функции» в нижней части списка шаблонов, чтобы запустить программу установки. Если диалоговое окно «Контроль учетных записей» запрашивает разрешения, выберите «Да». Убедитесь, что в установщике установлен флажок «Разработка рабочего стола с рабочей нагрузкой C++». Затем выберите «Изменить», чтобы обновить установку Visual Studio.

Если другой проект с таким же названием уже существует, выберите другое имя для своего проекта. Или удалите существующий проект и повторите попытку. Чтобы удалить существующий проект, удалите папку решения (папку, содержащую файл helloworld.sln) в проводнике.

Если в диалоговом окне «Новый проект» не отображается запись Visual C++ в разделе «Установлено», в вашей копии Visual Studio, вероятно, не установлена ​​рабочая нагрузка C++ для разработки рабочего стола. Вы можете запустить программу установки прямо из диалогового окна New Project. Выберите ссылку Открыть установщик Visual Studio, чтобы снова запустить установщик. Если диалоговое окно «Контроль учетных записей» запрашивает разрешения, выберите «Да». При необходимости обновите установщик. В установщике убедитесь, что установлен флажок «Разработка рабочего стола с рабочей нагрузкой C++», и нажмите «ОК», чтобы обновить установку Visual Studio.

Если другой проект с таким же названием уже существует, выберите другое имя для своего проекта. Или удалите существующий проект и повторите попытку. Чтобы удалить существующий проект, удалите папку решения (папку, содержащую файл helloworld.sln) в проводнике.

Превратите свой проект в консольное приложение: проблемы

Если вы не видите компоновщик в списке свойств конфигурации, выберите «Отмена», чтобы закрыть диалоговое окно «Страницы свойств». Перед повторной попыткой убедитесь, что проект HelloWorld выбран в обозревателе решений. Не выбирайте решение HelloWorld или другой элемент в обозревателе решений.

Раскрывающийся список не отображается в поле редактирования свойства SubSystem, пока вы не выберете свойство. Нажмите в поле редактирования, чтобы выбрать его. Или вы можете нажимать Tab, чтобы переключаться между элементами управления диалогового окна, пока не будет выделена Подсистема. Выберите раскрывающийся список или нажмите Alt+Down, чтобы открыть его.

Добавить файл исходного кода: проблемы

Вы можете дать файлу исходного кода другое имя. Однако не добавляйте в проект более одного файла, содержащего один и тот же код.

Если вы добавили в проект файл неправильного типа, например файл заголовка, удалите его и повторите попытку. Чтобы удалить файл, выберите его в обозревателе решений. Затем нажмите клавишу Delete.

Добавить код в исходный файл: проблемы

Если вы случайно закрыли окно редактора файлов с исходным кодом, вы можете легко открыть его снова. Чтобы открыть его, дважды щелкните файл HelloWorld.cpp в окне обозревателя решений.

Если под чем-либо в редакторе исходного кода появляются красные волнистые линии, убедитесь, что ваш код соответствует примеру в орфографии, пунктуации и регистре. Регистр имеет значение в коде C++.

Укажите место на вашем компьютере и дайте проекту имя, в данном случае CS447.


Перейдите на вкладку "Настройки приложения".

Убедитесь, что консольное приложение и пустой проект выбраны.

Шаг 2. Добавьте новый исходный файл

Обозреватель решений показывает дерево, представляющее ваше текущее решение. Решения состоят из одного или нескольких проектов, которые, в свою очередь, состоят из одного или нескольких файлов. В настоящее время в нашем решении есть один проект, а именно CS447 .

Щелкните правой кнопкой мыши наш проект CS447 в обозревателе решений и выберите "Добавить->Новый элемент".

Нам нужен исходный файл C++, поэтому выберите категорию «Код» и файл C++ (.cpp) из доступных шаблонов.

Введите имя исходного файла, в нашем случае main.cpp. Местоположение уже должно быть в проекте, который вы создали.

Теперь в редакторе должен появиться пустой исходный файл с именем main.cpp .

Шаг 3. Добавьте код

Теперь мы готовы добавить в нашу программу реальный код. Введите (или вырежьте и вставьте) следующий код в файл main.cpp, который уже должен быть открыт в главном окне исходного кода.

с использованием пространства имен std;

Я не буду объяснять этот код, поскольку ожидается, что вы будете иметь представление о C++ для этого (и всех будущих) руководств.

Наш проект очень прост. В настоящее время у нас есть только одна функция, поэтому легко найти нужный код. Однако проекты для CS 447 могут стать довольно большими, и найти ту функцию, которую вы хотите изменить, может быть не так просто. Давайте взглянем на другое окно VS08, которое может нам помочь. Выберите View -> Class View, чтобы открыть окно Class View. Это окно похоже на обозреватель решений, поэтому вы, вероятно, захотите разместить их вместе. В этом окне наш проект отображается в виде дерева. Однако окно Class View разбивает проект по классам и функциям, а не по файлам.Прямо сейчас у нас есть только одна основная функция, но позже ваши проекты будут разрастаться до множества классов, каждый из которых будет содержать множество функций. Окно Class View окажется неоценимым при навигации по таким проектам позже в курсе.

Шаг 4. Создание проекта

Теперь мы готовы скомпилировать и скомпоновать нашу программу. Visual Studio называет этот процесс сборкой. Перед сборкой нашего проекта нам нужно открыть другое окно, чтобы мы могли увидеть результаты нашей попытки сборки. Выберите View -> Output в меню VS08. Окно вывода показывает результат процесса компиляции и компоновки. Не стесняйтесь закрепить или скрыть это окно, так как оно нам понадобится довольно редко.

Выберите «Сборка» -> «Сборка решения» в меню VS08. Это должно привести к тому, что некоторый текст будет помещен в окно вывода. Если вы правильно скопировали приведенный выше код, вы должны увидеть следующий вывод справа. Если сборка не удалась, вы должны увидеть текст, объясняющий, почему она не удалась. Если ошибка является ошибкой компиляции, вы сможете дважды щелкнуть по ошибке, и окно исходного кода должно обновиться, чтобы показать вам строку, в которой произошла ошибка. На данный момент у нас не должно быть ошибок, значит, мы успешно построили наш проект и готовы его запустить.

В этом документе подробно описан процесс начала создания консольных программ на C. Консольные программы довольно просты: они вводят данные с клавиатуры (или из файла, хранящегося на диске), а вывод производят в текстовом окне консоли. Для создания программ на C вам понадобятся две вещи: текстовый редактор для написания исходного кода программы и компилятор для преобразования исходного кода в исполняемый файл, чтобы программу можно было запустить (в Windows исполняемые файлы имеют расширение ".exe"). " расширение). Мы будем использовать программное обеспечение Microsoft Visual Studio Community, которое предоставляет как мощный редактор кода, так и компилятор C (поскольку они упакованы в одно и то же программное обеспечение, это называется интегрированной средой разработки или IDE).

  1. В первом подходе мы будем использовать простой текстовый редактор (вы можете использовать любой редактор, который вам нравится) для написания исходного кода. Затем мы будем использовать «Командную строку разработчика» — среду на основе командной строки — для компиляции и запуска программы. «Командная строка разработчика» является частью программного обеспечения Visual Studio Community, поэтому нам нужно сначала установить ее.
  2. во втором подходе мы будем использовать интегрированные функции Visual Studio Community — мы напишем исходный код с помощью редактора кода Visual Studio Community, а затем скомпилируем и запустим программу из среды Visual Studio Community< /li>

Хорошо, приступим к установке Visual Studio Community.

Установка сообщества Visual Studio

Существует несколько разных версий Microsoft Visual Studio. Версия сообщества бесплатна и включает все необходимые библиотеки и инструменты, необходимые для разработки программ на C. Вы можете поискать в Google «Сообщество Visual Studio», чтобы узнать больше, или перейти непосредственно на соответствующую страницу на веб-сайте Microsoft:

Убедитесь, что выбрана "Windows", и нажмите кнопку "Загрузить VS Community 2017", как показано ниже:

После того как вы нажмете кнопку "Загрузить VS Community 2017", вам будет предложено сохранить файл с именем "vs_community_. .exe" — сохраните этот файл в удобном месте, например на рабочем столе:

Просто дважды щелкните загруженный файл ("vs_community_. .exe"). Это запустит программу установки (вам может быть предложено подтвердить «Запустить» эту программу), и в этом случае просто нажмите «Выполнить»:

Затем начнется процесс установки. При появлении запроса нажмите "Продолжить":

На первом этапе установки на ваш компьютер будет загружен ряд файлов. Вам просто нужно будет набраться терпения, пока этот этап не будет завершен:

На втором этапе установки вам будут показаны следующие параметры конфигурации. Вверху есть несколько вкладок — вам нужно только взглянуть на вкладку по умолчанию, которая называется «Рабочие нагрузки», как показано ниже.

ВАЖНО: убедитесь, что вы выбрали вариант "Разработка для настольных ПК с помощью C++", как показано ниже:

После того, как вы выберете вариант «Разработка для настольных ПК с помощью C++», вы увидите «Сводку», показанную в правой части окна, как показано ниже. Хотя некоторые из этих компонентов перечислены в разделе «Необязательный», проще всего принять все параметры по умолчанию, как выделенные. Особенно важно убедиться, что выбраны «VC++ 2017 Version. tools» и «Windows 10 SDK». Без них вы не сможете компилировать программы на C!

ВАЖНО. Прежде чем продолжить, убедитесь, что выбраны параметры "VC++ 2017 Version. tools" и "Windows 10 SDK":

Когда вы будете готовы, вы можете нажать кнопку "Установить" в правом нижнем углу окна. Это запустит установщик еще раз, и необходимые компоненты будут добавлены:

После завершения вам может быть предложено перезагрузить компьютер (нажмите "Перезагрузить"):

После перезагрузки компьютера вы должны обнаружить, что приложение Visual Studio Community установлено. Чтобы убедиться, что установка прошла успешно, вы можете попробовать запустить Visual Studio. Обратите внимание, что нет необходимости повторно запускать программу установки (это файл «vs_community_..exe», который вы скачали с сайта Microsoft). Эта программа установки больше не нужна. Вместо этого, чтобы запустить Visual Studio, вы должны выбрать его в меню «Пуск», как показано ниже:

Поскольку вы впервые запускаете Visual Studio, вам будет предложено "Войти" (просто проигнорируйте это, если хотите, нажав "Не сейчас, возможно, позже"), а затем вам будет предложено выбрать "тема" (подойдет стандартная тема "Синяя"), а затем будет небольшая задержка, пока среда настраивается в первый раз:

И, наконец, вы должны увидеть стартовую страницу сообщества Visual Studio! Поздравляем, теперь вы можете приступить к созданию своей первой программы на C!

У вас есть два варианта разработки программ на C, которые описаны ниже.

Два варианта

Отлично, теперь, когда Visual Studio Community установлен, у вас есть два варианта разработки и запуска программ C в Windows. Первый вариант предполагает использование любого текстового редактора для написания исходного кода и использование команды «cl» в командной строке разработчика для компиляции кода. Второй вариант предполагает использование Visual Studio Community в качестве среды разработки и создание «проекта» Visual Studio для организации ваших файлов.

Оба варианта описаны далее.

Вариант 1. Использование текстового редактора и командной строки разработчика для компиляции

С этой опцией мы будем компилировать наши программы из командной строки (используя программу под названием «Командная строка разработчика»), а не с использованием графической среды Visual Studio. Когда мы установили Visual Studio Community, мы также установили необходимые нам инструменты командной строки.

Редактирование исходного кода

Мы можем написать наш исходный код в любом текстовом редакторе, который нам нравится. В этом примере я использую текстовый редактор под названием TextPad, и вы можете видеть на диаграмме ниже, что я создал исходный файл C с именем «example.c» внутри папки с именем «MyFirstProgram», которая находится внутри каталога с именем «paul " на "C:" моего компьютера:

Компиляция и запуск программы

Чтобы скомпилировать нашу программу, мы запустим компилятор командной строки Visual Studio под названием "cl". Мы запускаем эту команду из среды, которая называется «Командная строка разработчика». Чтобы запустить Visual Studio «Командная строка разработчика», введите «Разработчик» в поле поиска в меню «Пуск», и вы должны увидеть параметр «Командная строка разработчика для VS 2017», как показано на рисунке. Нажмите на эту программу:

Вы должны увидеть новое открытое окно с заголовком "Командная строка разработчика для VS 2017". Это окно, в котором мы будем вводить команды для компиляции и выполнения нашей программы на C.

В командной строке разработчика вы можете изменить каталог, набрав:

  • cd / (для перехода на верхний или корневой уровень дерева каталогов) или
  • cd .. (для перехода на один уровень вверх в дереве каталогов) или
  • cd DIR_NAME (чтобы перейти на один уровень вниз в каталог с именем "DIR_NAME")

Вы можете сменить диск, введя букву диска отдельно (например, чтобы переключиться на диск "E" или "E:"):

Вы можете вывести список всех файлов в текущем каталоге, набрав:

И, наконец, вы можете скомпилировать исходный файл с помощью команды:

В данном случае "example.exe" — это имя исполняемого файла, который будет создан в случае успешной компиляции кода. На приведенном ниже снимке экрана видно, что новый файл с именем «example.exe» был создан в том же каталоге, что и исходный файл.

Чтобы запустить исполняемый файл, просто введите:

что означает: "выполнить программу с именем "example", которая находится в текущем каталоге

Эти команды показаны ниже:

Вот и все — теперь вы можете редактировать исходный файл, перекомпилировать код и снова запустить программу!

Вариант 2. Использование Visual Studio Community в качестве среды разработки

Visual Studio Community – это интегрированная среда разработки. Это означает, что мы можем написать наш исходный код, скомпилировать код, запустить исполняемый файл и просмотреть результат из программы Visual Studio. Сейчас мы рассмотрим, как это сделать. Visual Studio организует программы в так называемые «Проекты». Итак, мы собираемся создать новый проект Visual Studio в папке с именем «paul» на «C:» нашего компьютера. Как видите, на данный момент эта папка пуста:

Сначала мы запускаем Visual Studio Community из меню "Пуск":

И мы создаем новый проект, выбрав «Файл > Новый проект».

Убедитесь, что вы тщательно выбрали правильный шаблон. Это должен быть «Мастер рабочего стола Windows», который можно найти, выбрав «Рабочий стол Windows» под шаблоном «Visual C++».

Как вы можете видеть в этом примере, мы назвали проект "ExampleProject" и выбрали папку "C:\paul". Кроме того, мы не отметили параметр «Создать каталог для решения»:

Затем нам показывают мастер рабочего стола Windows, который позволяет настроить наш новый проект. Мы должны убедиться, что тип приложения — консольное приложение (.exe). Мы также должны создать «пустой» проект (и оставить «Экспорт символов», «Предварительно скомпилированный заголовок» и «Проверки жизненного цикла разработки безопасности» не отмеченными). Если это правильно, нажмите "ОК"

Затем будет создан проект, и вам будет показано его графическое представление. Это показано ниже. Поскольку проект пуст, первое, что мы должны сделать, это добавить исходный файл:

Мы можем добавить исходный файл, щелкнув правой кнопкой мыши элемент "Исходные файлы" (на панели обозревателя решений) и выбрав "Добавить > Новый элемент".

Когда мы создаем наш исходный файл, очень важно, чтобы мы дали ему правильное расширение (т.е. суффикс) для файла C. Это должно быть ".c":

Затем мы можем отредактировать исходный файл, написав код непосредственно в редакторе кода Visual Studio Community:

Когда мы будем готовы скомпилировать наш исходный файл, мы можем выбрать "Сборка решения" в меню "Сборка":

Полезно иметь открытой панель «Вывод» — на диаграмме ниже панель «Вывод» отображает состояние процесса компиляции. В этом примере компиляция прошла без ошибок:

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

И, если все прошло хорошо, мы увидим вывод нашей программы в новом командном окне:

Действительно очень полезно иметь представление о файлах, которые создает Visual Studio, и о том, где эти файлы хранятся на диске. Если вы следовали описанной здесь предложенной организации, то папка, в которой мы создали проект (в данном примере это «C:\paul»), будет содержать только одну папку с названием проекта.

Внутри этой папки "ExampleProject" будет несколько файлов, включая наш исходный файл "example.c". Одна из папок внутри "ExampleProject" называется "Debug".

Папка «Отладка» — это место, где компилятор создает фактический исполняемый файл для нашей программы. На диаграмме ниже показана организация на диске.

Теперь, если вы хотите внести изменения в свою программу, вернитесь в редактор и измените исходный файл. Чтобы снова запустить программу, ее необходимо перекомпилировать ("Сборка решения"), а затем запустить ("Запустить без отладки").

В последних двух сообщениях в блоге я уже показывал некоторые действительно интересные функции, которые появятся в обновлении Windows Redstone 4. Также в обновлении RS4 появилась возможность создавать консольные приложения UWP! Поскольку в настоящее время в Visual Studio нет доступного шаблона проекта, есть несколько вещей, которые необходимо настроить вручную. Если в будущем шаблон проекта станет доступен, в этом сообщении блога вы все равно найдете некоторую справочную информацию о «волшебстве», которое будет выполнять этот шаблон.

Обновление (06.07): Microsoft выпустила обновление для шаблонов проектов консольных приложений UWP в магазине Visual Studio. Узнайте больше здесь.


… ну, не все 🙂
Для начала создайте новый проект UWP в Visual Studio.


Затем выберите подходящие версии UWP (на момент написания это «Windows 10 Insider Preview Build 17120»). Как только это будет сделано, вы можете начать удалять некоторые вещи! Поскольку мы создаем консольное приложение, нам не нужны App.xaml(.cs) и MainPage.xaml(.cs), просто удалите эти 4 файла. Далее нам нужно добавить новый файл: Program.cs. В результате ваш проект будет выглядеть примерно так:

Условные символы компиляции

В окне свойств нашего приложения UWP нам нужно добавить DISABLE_XAML_GENERATED_MAIN к символам условной компиляции. Это предотвращает создание системой сборки основного метода по умолчанию. Но как наш UWP запустится без основного метода?Просто, мы собираемся написать свой собственный!

В этот только что созданный класс Program мы добавим метод Main:

Похоже на ваши классические консольные приложения Windows, не так ли? 🙂 Ну, как и в ваших классических консольных приложениях, это будет наша точка входа. Теперь нам нужно только подсказать Windows, где она может найти этот метод Main. Для этого нам нужно открыть файл Package.appxmanifest.

Теперь мы можем начать использовать эти пространства имен в нашем appxmanifest. Далее нам нужно указать, что это приложение будет работать в консоли (и может работать в нескольких экземплярах). Это можно сделать, добавив к элементу Application следующие атрибуты: desktop4:Subsystem="console" desktop4:SupportsMultipleInstances="true" . Также нам нужно указать атрибут EntryPoint на класс, содержащий наш метод Main. В итоге весь тег Application будет выглядеть примерно так:

Теперь мы уже можем запускать приложение из Visual Studio! Если все верно, появится окно консоли. Вероятно, окно тоже сразу закроется, как и в случае с классическими консольными приложениями. Итак, давайте поместим код в наш метод Main:

Круто! Наше первое консольное приложение UWP! И, как и следовало ожидать: если вы добавите «Аргументы командной строки» в параметры запуска (щелкните правой кнопкой мыши проект -> свойства -> Отладка), вы получите их в своем методе Main через параметр args!

Теперь у нас есть приложение, которое можно запустить так же, как обычное приложение UWP, но вместо отображения пользовательского интерфейса открывается окно консоли. Это здорово, но было бы здорово, если бы мы могли запускать наше консольное приложение, ну... из самой консоли?

Для этого нам нужно добавить AppExecutionAlias ​​в файл Appxmanifest:

Псевдоним, который вы указываете в элементе ExecutionAlias, — это псевдоним, который вы сможете использовать из консоли:


К вашему сведению: если вы перейдете в «Настройки» в Windows и выберите «Приложения», там будет ссылка «Управление псевдонимами запуска приложений». Если вы нажмете на эту ссылку, вы получите обзор всех приложений, псевдонимы которых зарегистрированы в вашей системе:

Теперь, когда мы запустили наше очень простое приложение, давайте поговорим об API UWP из него. Как насчет запуска всплывающего уведомления с консоли?


Вы можете найти этот код на GitHub.

Еще один пример консольного приложения UWP можно найти в этой записи блога. В этом посте мы используем консольное приложение UWP, которое классифицирует изображения с помощью WinML.

Еще одна крутая новинка UWP появится на RS4! Любопытно посмотреть, какие инструменты или другие вещи вы, ребята, будете создавать и публиковать в магазине! Или, может быть, какая-нибудь классная текстовая приключенческая игра? (Я бы заплатил за это 😉 )

Читайте также: