Что такое классическое приложение windows

Создание классических приложений для компьютеров с Windows Build desktop apps for Windows PCs

Эта статья содержит сведения, необходимые, чтобы приступить к созданию классических приложений для Windows или обновления существующих классических приложений для использования новейших возможностей Windows 10 This article provides the info you need to get started building desktop apps for Windows or updating existing desktop apps to adopt the latest experiences in Windows 10.

Платформы для классических приложений Platforms for desktop apps

Существуют четыре основные платформы для создания классических приложений для компьютеров с Windows. There are four main platforms for building desktop apps for Windows PCs. Каждая платформа предоставляет модель приложения, определяющую жизненный цикл приложения, полную инфраструктуру пользовательского интерфейса и набор элементов управления пользовательского интерфейса, которые позволяют создавать классические приложения, такие как Word, Excel и Photoshop, и получать доступ к исчерпывающему набору управляемых или собственных API-интерфейсов для использования функций Windows. Each platform provides an app model that defines the lifecycle of the app, a complete UI framework and set of UI controls that let you create desktop apps like Word, Excel, and Photoshop, and access to a comprehensive set of managed or native APIs for using Windows features.

Подробное сравнение этих платформ и дополнительные материалы по каждой платформе доступны в разделе Выбор платформы для приложения. For an in-depth comparison of these platforms along with additional resources for each platform, see Choose your app platform.

Передовая платформа для приложений и игр для, предназначенных для Windows 10. The leading-edge platform for Windows 10 apps and games. Вы можете создавать приложения UWP, которые используют только элементы управления и интерфейсы API универсальной платформы Windows (UWP), или использовать эти элементы управления и API в классических приложениях, созданных с помощью одной из других платформ. You can build UWP apps that exclusively use UWP controls and APIs, or you can use UWP controls and APIs in desktop apps that are built using one of the other platforms.

Предпочтительная платформа для собственных приложений для Windows, которым требуется прямой доступ к Windows и оборудованию. The platform of choice for native Windows apps that require direct access to Windows and hardware.

Общепризнанная платформа на основе .NET для преимущественно графических приложений для Windows, использующих модель пользовательского интерфейса XAML. The established .NET-based platform for graphically-rich managed Windows apps with a XAML UI model. Эти приложения могут быть нацелены на .NET Core 3 или полную платформу .NET Framework. These apps can target .NET Core 3 or the full .NET Framework.

Платформа на основе .NET, предназначенная для управляемых бизнес-приложений, использующих упрощенную модель пользовательского интерфейса. A .NET-based platform that is designed for managed line-of-business apps with a lightweight UI model. Эти приложения могут быть нацелены на .NET Core 3 или полную платформу .NET Framework. These apps can target .NET Core 3 or the full .NET Framework.

Стратегия развития Future roadmap

В будущем мы планируем улучшать платформы разработки приложений для Windows с помощью библиотеки пользовательского интерфейса Windows (WinUI) и Project Reunion. Looking forward, we are evolving the Windows app development platforms with the Windows UI Library (WinUI) and Project Reunion.

WinUI — это собственная среда взаимодействия с пользователем для приложений Windows 10. WinUI is a native user experience (UX) framework for Windows 10 apps. Библиотека WinUI разрабатывалась как набор средств. Она предоставляла новые и обновленные версии элементов управления WinRT для приложений UWP, предназначенных для более ранних версий Windows 10. WinUI started as a toolkit that provides new and updated versions of WinRT controls for UWP apps that target down-level versions of Windows 10. Область действия WinUI расширилась, и WinUI 3 представляет собой современную нативную платформу пользовательского интерфейса для приложений Windows 10 в UWP, .NET и Win32. As of WinUI 3, WinUI is growing in scope to become the premier native user interface (UI) framework for Windows 10 apps across UWP, .NET, and Win32 app platforms.

Project Reunion — это кодовое название для широкого спектра новых компонентов и инструментов для разработчиков. Это новый этап развития платформы для разработки приложений Windows. Project Reunion is the code name for a broad set of new developer components and tools that represents the next evolution in the Windows app development platform. Project Reunion включает единый набор API и инструментов, которые могут согласованно использоваться любыми приложениями в различных целевых версиях ОС Windows 10. Project Reunion provides a unified set of APIs and tools that can be used in a consistent way by any app on a broad set of target Windows 10 OS versions. Project Reunion дополняет имеющиеся платформы и среды приложений Windows, такие как UWP, нативная среда Win32 и .NET, общим набором API и инструментов, которые упрощают работу разработчиков. Project Reunion complements existing Windows app platforms and frameworks such as UWP and native Win32, and .NET with a common set of APIs and tools that developers can rely on across these platforms.

Дополнительные сведения см. в статье Project Reunion. For more information, see Project Reunion.

Обновление существующих классических приложений для Windows 10 Update existing desktop apps for Windows 10

Если у вас есть классические приложения WPF, Windows Forms или собственные классические приложения Win32, в Windows 10 и универсальной платформе Windows (UWP) предлагается много возможностей для реализации современных функций в имеющихся приложениях. If you have an existing WPF, Windows Forms, or native Win32 desktop app, Windows 10 and the Universal Windows Platform (UWP) offer many features you can use to deliver a modern experience in your app. Большинство этих функций доступны в виде модульных компонентов, которые можно внедрить в приложение в своем собственном темпе, не переписывая код приложения для другой платформы. Most of these features are available as modular components that you can adopt in your app at your own pace without having to rewrite your app for a different platform.

Ниже приведено лишь несколько функций, позволяющих улучшить существующие классические приложения. Here are just a few of the features available to enhance your existing desktop apps:

  • Используйте MSIX для упаковки и развертывания классических приложений. Use MSIX to package and deploy your desktop apps. MSIX — это современный формат пакета приложения для Windows, позволяющий упаковывать любые приложения для Windows. MSIX is a modern Windows app package format that provides a universal packaging experience for all Windows apps. Этот безопасный и надежный формат упаковки сочетает в себе преимущества технологий установки с использованием MSI-файлов, APPX-файлов, App-V и ClickOnce. MSIX brings together the best aspects of MSI, .appx, App-V and ClickOnce installation technologies and is built to be safe, secure, and reliable.
  • Интегрируйте возможности Windows 10 в свое классическое приложение с помощью расширений пакетов. Integrate your desktop app with Windows 10 experiences by using package extensions. Например, закрепите свое приложение в меню «Пуск», предоставьте к нему общий доступ или отправляйте всплывающие уведомления из приложения. For example, point Start tiles to your app, make your app a share target, or send toast notifications from your app.
  • Используйте острова XAML для размещения элементов управления XAML UWP в своем классическом приложении. Use XAML Islands to host UWP XAML controls in your desktop app. Многие последние функции пользовательского интерфейса Windows 10 доступны только для элементов управления XAML UWP. Many of the latest Windows 10 UI features are only available to UWP XAML controls.

Дополнительные сведения доступны в приведенных ниже статьях. For more information, see these articles.

Платформа Platform Описание Description Документация и ресурсы Docs and resources
Универсальная платформа Windows (UWP) Universal Windows Platform (UWP)
Статья Article Описание Description
Модернизация классических приложений Modernize desktop apps Описываются последние возможности разработки для Windows 10 и UWP, которые можно использовать в любом классическом приложении, включая приложения WPF, Windows Forms и приложения Win32 на C++. Describes the latest Windows 10 and UWP development features you can use in any desktop app, including WPF, Windows Forms, and C++ Win32 apps.
Руководство. Модернизация приложения WPF Tutorial: Modernize a WPF app Следуйте пошаговым инструкциям, чтобы модернизировать существующий пример бизнес-приложения WPF, добавив элементы управления рукописным вводом и календарем UWP в приложение и упаковав его в пакет MSIX. Follow step-by-step instructions to modernize an existing WPF line-of-business sample app by adding UWP Ink and calendar controls to the app and packaging it in an MSIX package.

Создание классических приложений Create new desktop apps

Ниже приведены некоторые ресурсы, которые помогут вам приступить к созданию классического приложения для Windows. If you are creating a new desktop app for Windows, here are some resources to help get you started.

Классические приложения Windows 10 и конфиденциальность

Классические приложения — это определенный тип приложений, которые не запрашивают разрешение на доступ к данным, связанным с параметрами конфиденциальности в Windows 10 так, как это делают приложения Microsoft Store. Некоторые классические приложения могут не даже запрашивать разрешение на доступ к личным данным, сохраненным на вашем устройстве. Классические приложения также не отображаются в списке приложений на страницах параметров конфиденциальности, которые позволяют выбрать, какие приложения могут использовать данные, связанные с этим параметром конфиденциальности.

Что представляют собой классические приложения? Обычно они скачиваются из Интернета или устанавливаются с какого-либо носителя (например, компакт-диска, DVD-диска или запоминающего USB-устройства). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке).

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

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

Расположение. Даже если вы выключили параметр определения местоположения устройства, некоторые сторонние приложения и службы могут использовать другие технологии (такие как Bluetooth, Wi-Fi, модем сотовой связи и т. д.) для определения местоположения вашего устройства с различной степенью точности. Корпорация Майкрософт требует от сторонних разработчиков программного обеспечения, разрабатывающих приложения для Microsoft Store или разрабатывающих приложения с помощью инструментов Майкрософт, использовать параметры определения местоположения Windows, если только вы не предоставили стороннему разработчику требуемого по закону согласия на определение вашего местоположения. Чтобы обеспечить более полную защиту данных о вашем местоположении, можно отключить радиокомпоненты вашего устройства, например Wi-Fi, Bluetooth, модем сотовой связи и GPS-компоненты, которые могут использоваться приложениями для определения вашего точного местоположения. Однако эти действия также влияют на работу других функций, таких как звонки (в том числе экстренные вызовы), отправку сообщений, подключение к Интернету и связь с периферийными устройствами, например наушниками.

«Камера», «Микрофон» и другие параметры конфиденциальности, напрямую связанные с периферийным устройством. Отключение этих параметров конфиденциальности может не повлиять на некоторые классические приложения. Например, приложение, которое также устанавливает драйвер, может взаимодействовать напрямую с оборудованием камеры или микрофона, обходя возможности Windows по управлению доступом. Для более надежной защиты персональных данных, связанных с этими параметрами, рекомендуется отключить эти устройства, например отсоединить или отключить камеру или микрофон.

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

Мастер классических приложений Windows Windows Desktop Wizard

Мастер настольных систем Windows заменяет мастер приложений Win32 в Visual Studio 2017 и более поздних версиях. The Windows Desktop Wizard replaces the Win32 Application Wizard in Visual Studio 2017 and later. Мастер позволяет создавать любые из четырех типов проектов C++ (перечисленных в заголовке в таблице ниже). The wizard allows you to create any of four types of C++ projects (listed in the heading in the table below). В каждом случае можно указать дополнительные параметры, подходящие для открытого вами типа проекта. In each case, you can specify additional options that are appropriate for the type of project you open.

В таблице ниже показано, какие параметры доступны для каждого типа приложения. The following table indicates which options are available for each application type.

Тип поддержки Type of support Консольное приложение Console application Исполняемое приложение (Windows) Executable (Windows) application Библиотека динамической компоновки Dynamic-link library Статическая библиотека Static library
Пустой проект Empty project Да Yes Да Yes Да Yes Нет No
Символы экспорта Export symbols Нет No Нет No Да Yes Нет No
Предкомпилированный заголовок Precompiled header Нет No Нет No Нет No Да Yes
поддержка ATL ATL support Да Yes Нет No Нет No Нет No
поддержка MFC MFC support Да Yes Нет No Нет No Да Yes

Общие сведения Overview

На этой странице мастера описываются текущие параметры проекта для создаваемого приложения Win32. This wizard page describes the current project settings for the Win32 application you are creating. По умолчанию заданы следующие параметры: By default, the following options are set:

проект является приложением Windows; The project is a Windows application.

проект не пустой; The project is not empty.

проект не содержит символов экспорта; The project contains no export symbols.

проект не использует файл предкомпилированного заголовка (этот параметр доступен только для проектов статической библиотеки); The project does not use a precompiled header file (this option is available for static library projects only).

проект не включает поддержку MFC и ATL. The project includes support for neither MFC nor ATL.

Тип приложения Application type

Создает указанный тип приложения. Creates the specified application type.

Параметр Option Описание Description
Консольное приложение Console application Создание консольного приложения. Creates a console application. Visual C++ библиотеки времени выполнения также предоставляют выходные и входные данные из окон консоли с помощью стандартных функций ввода-вывода, таких printf_s() как scanf_s() и. The Visual C++ run-time libraries also provide output and input from console windows with standard I/O functions, such as printf_s() and scanf_s() . Консольное приложение не имеет графического пользовательского интерфейса. A console application has no graphical user interface. Он компилируется в exe-файл и может запускаться как автономное приложение из командной строки. It compiles into an .exe file and can be run as a stand-alone application from the command line.

Можно добавить поддержку MFC и ATL в консольное приложение. You can add MFC and ATL support to a console application.

Приложение Windows Windows application Создает программу Win32. Creates a Win32 program. Программа Win32 — это исполняемое приложение (EXE), написанное на C или C++, с использованием вызовов API Win32 для создания графического пользовательского интерфейса. A Win32 program is an executable application (EXE) written in C or C++, using calls to the Win32 API to create a graphical user interface.

Нельзя добавить поддержку MFC или ATL в приложение Windows. You cannot add MFC or ATL support to a Windows application.

Библиотека динамической компоновки Dynamic Link Library Создает библиотеку динамической компоновки Win32 (DLL). Creates a Win32 dynamic-link library (DLL). DLL-библиотека Win32 — это двоичный файл, написанный на языке C или C++, который использует вызовы API Win32, а не классы MFC, который выступает в качестве общей библиотеки функций, которые могут одновременно использоваться несколькими приложениями. A Win32 DLL is a binary file, written in C or C++, that uses calls to the Win32 API rather than to MFC classes, and that acts as a shared library of functions that can be used simultaneously by multiple applications.

Нельзя добавить поддержку MFC или ATL в приложение DLL, созданное с помощью этого мастера, но можно создать библиотеку DLL MFC, выбрав New > Project > MFC DLL. You cannot add MFC or ATL support to a DLL application created by using this wizard, but you can create an MFC DLL by choose New > Project > MFC DLL.

Статическая библиотека Static library Создает статическую библиотеку. Creates a static library. Статическая библиотека — это файл, содержащий объекты и их функции и данные, которые связываются с программой при создании исполняемого файла. A static library is a file containing objects and their functions and data that links into your program when the executable file is built. В этом разделе объясняется, как создать начальные файлы и Свойства проекта для статической библиотеки. This topic explains how to create the starter files and project properties for a static library. Файл статической библиотеки предоставляет следующие преимущества. A static library file provides the following benefits:

— Статическая библиотека Win32 полезна, если приложение, над которым вы работаете, выполняет вызовы к API Win32, а не к классам MFC. — A Win32 static library is useful if the application you are working on makes calls to the Win32 API rather than to MFC classes.
— Процесс связывания аналогичен тому, написан ли остальная часть приложения Windows на языке C или в C++. — The linking process is the same whether the rest of your Windows application is written in C or in C++.
— Можно связать статическую библиотеку с программой на основе MFC или с программой, отличной от MFC. — You can link a static library to an MFC-based program or to a non-MFC program.

Дополнительные параметры Additional options

Определяет поддержку и параметры для приложения в зависимости от его типа. Defines the support and options for the application, depending on its type.

Параметр Option Описание Description
Пустой проект Empty project Указывает, что файлы проекта пусты. Specifies that the project files are blank. При наличии набора файлов исходного кода (например, CPP-файлов, файлов заголовков, значков, панелей инструментов, диалоговых окон и т. д.) и необходимости создания проекта в среде разработки Visual C++ необходимо сначала создать пустой проект, а затем добавить файлы в проект. If you have a set of source code files (such as .cpp files, header files, icons, toolbars, dialog boxes, and so on) and want to create a project in the Visual C++ development environment, you must first create a blank project, then add the files to the project.

Этот выбор недоступен для проектов статической библиотеки. This selection is unavailable for static library projects.

Символы экспорта Export symbols Указывает, что проект DLL экспортирует символы. Specifies that the DLL project exports symbols.
Предкомпилированный заголовок Precompiled header Указывает, что в проекте статической библиотеки используется предварительно скомпилированный заголовок. Specifies that the static library project uses a pre-compiled header.
Проверки жизненного цикла разработки безопасности (SDL) Security Development Lifecycle (SDL) checks Дополнительные сведения об SDL см. в статье жизненный цикл разработки защищенных приложений (Майкрософт) (SDL) процессов . For more information about SDL, see Microsoft Security Development Lifecycle (SDL) Process Guidance

Добавьте общие заголовки для: Add common headers for:

Добавлена поддержка одной из библиотек, представленных в Visual C++. Add support for one of the libraries supplied in Visual C++.

Параметр Option Описание Description
ATL ATL Встраивает в проект поддержку для классов в библиотеке активных шаблонов (ATL). Builds into the project support for classes in the Active Template Library (ATL). Только для консольных приложений Win32. For Win32 console applications only.

Примечание . Этот параметр не указывает на поддержку добавления объектов ATL с помощью мастеров кода ATL. Note This option does not indicate support for adding ATL objects using the ATL code wizards. Объекты ATL можно добавлять только в проекты ATL или проекты MFC с поддержкой ATL. You can add ATL objects only to ATL projects or MFC projects with ATL support.

MFC MFC Встраивает в проект поддержку библиотеки Microsoft Foundation Class (MFC). Builds into the project support for the Microsoft Foundation Class (MFC) Library. Только для консольных приложений Win32 и статических библиотек. For Win32 console applications and static libraries only.

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

Создав классическое приложение Windows, можно добавить универсальные классы C++ с помощью мастера универсального кода. Once you have created a Windows desktop application, you can add generic C++ classes using the Generic Code Wizard. Можно добавить другие элементы, такие как файлы HTML, файлы заголовков, ресурсы или текстовые файлы. You can add other items, such as HTML files, header files, resources, or text files.

Классы ATL добавить нельзя, а классы MFC можно добавить только в те типы классических приложений Windows, которые поддерживают MFC (см. предыдущую таблицу). You cannot add ATL classes, and you can add MFC classes only to those Windows desktop application types that support MFC (see the previous table).

Читайте также:  Gnu linux что это значит
Оцените статью