Application api windows 10

Содержание
  1. Новые API в Windows 10 (сборка 18362) New APIs in Windows 10 build 18362
  2. Windows.AI Windows.AI
  3. Windows.AI.MachineLearning Windows.AI.MachineLearning
  4. LearningModelSessionOptions LearningModelSessionOptions
  5. LearningModelSession LearningModelSession
  6. TensorBoolean TensorBoolean
  7. TensorDouble TensorDouble
  8. TensorFloat16Bit TensorFloat16Bit
  9. TensorFloat TensorFloat
  10. TensorInt16Bit TensorInt16Bit
  11. TensorInt32Bit TensorInt32Bit
  12. TensorInt64Bit TensorInt64Bit
  13. TensorInt8Bit TensorInt8Bit
  14. TensorString TensorString
  15. TensorUInt16Bit TensorUInt16Bit
  16. TensorUInt32Bit TensorUInt32Bit
  17. TensorUInt64Bit TensorUInt64Bit
  18. TensorUInt8Bit TensorUInt8Bit
  19. Windows.ApplicationModel Windows.ApplicationModel
  20. Windows.ApplicationModel Windows.ApplicationModel
  21. Package Package
  22. Windows.ApplicationModel.AppService Windows.ApplicationModel.AppService
  23. AppServiceConnection AppServiceConnection
  24. AppServiceTriggerDetails AppServiceTriggerDetails
  25. StatelessAppServiceResponse StatelessAppServiceResponse
  26. StatelessAppServiceResponseStatus StatelessAppServiceResponseStatus
  27. StatelessAppServiceResponse StatelessAppServiceResponse
  28. Windows.ApplicationModel.Background Windows.ApplicationModel.Background
  29. ConversationalAgentTrigger ConversationalAgentTrigger
  30. Пакет SDK для Windows 10
  31. Начало работы
  32. Системные требования
  33. Поддерживаемые операционные системы
  34. Требования к оборудованию
  35. Дополнительные требования для этого SDK
  36. Что нового
  37. Интерфейсы API
  38. Удаление api-ms-win-net-isolation-l1-1-0.lib
  39. Удаление irprops.lib
  40. Удаление wuapicommon.h и wuapicommon.idl
  41. Пакет с новыми API-интерфейсами WinRT для Windows 10
  42. Универсальная среда выполнения C (UCRT)
  43. Инструменты
  44. Комплект сертификации приложений для Windows
  45. Компилятор сообщений (mc.exe)
  46. Windows Trace Preprocessor (tracewpp.exe)
  47. TraceLoggingProvider.h
  48. Подписывание приложений с помощью подписи Device Guard
  49. Примеры
  50. Предыдущие версии пакетов SDK
  51. Активация API-интерфейсов
  52. Заметки о выпуске и известные проблемы
  53. Windows 10 SDK
  54. Getting started
  55. System requirements
  56. Supported operating systems
  57. Hardware requirements
  58. Additional SDK requirements
  59. What’s new
  60. Removal of api-ms-win-net-isolation-l1-1-0.lib
  61. Removal of irprops.lib
  62. Removal of wuapicommon.h and wuapicommon.idl
  63. Windows 10 WinRT API Pack
  64. Universal C Runtime (UCRT)
  65. Tools
  66. Windows App Certification Kit
  67. Message Compiler (mc.exe)
  68. Windows Trace Preprocessor (tracewpp.exe)
  69. TraceLoggingProvider.h
  70. Signing your apps with Device Guard Signing
  71. Samples
  72. Previous SDK versions
  73. API Light Up
  74. Release notes & Known Issues
  75. More resources
  76. Downloads and tools
  77. SDK archive
  78. Windows blog
  79. Windows lifecycle fact sheet
  80. Вызов API для среды выполнения Windows в классических приложениях Call Windows Runtime APIs in desktop apps
  81. Настройка использования API среды выполнения Windows в проекте Win32 на C++ Modify a C++ Win32 project to use Windows Runtime APIs
  82. Добавление возможностей Windows 10 Add Windows 10 experiences
  83. Поддержка установочных баз Windows XP, Windows Vista, Windows 7 и Windows 8 Support Windows XP, Windows Vista, and Windows 7/8 install bases
  84. Условная компиляция Conditional compilation
  85. Проверки во время выполнения Runtime checks
  86. Связанные примеры Related Samples
  87. Получение ответов на вопросы Find answers to your questions

Новые API в Windows 10 (сборка 18362) New APIs in Windows 10 build 18362

В Windows 10 сборки 18362, также известной как пакет SDK версии 1903, доступны новые и обновленные API для пространств имен. New and updated API namespaces have been made available to developers in Windows 10 build 18362 (Also known as SDK version 1903). Ниже приведен полный список документации, опубликованной для пространств имен, которые были добавлены или изменены в этом выпуске. Below is a full list of documentation published for namespaces added or modified in this release.

Сведения об API, добавленных в предыдущем официальном выпуске, см. в статье New APIs in Windows 10 build 17763 (Новые API в WIndows 10 сборки 17763). For information on APIs added in the previous public release, see New APIs in the Windows 10 October Update.

Windows.AI Windows.AI

Windows.AI.MachineLearning Windows.AI.MachineLearning

LearningModelSessionOptions LearningModelSessionOptions

LearningModelSessionOptions LearningModelSessionOptions
LearningModelSessionOptions.BatchSizeOverride LearningModelSessionOptions.BatchSizeOverride
LearningModelSessionOptions.#ctor LearningModelSessionOptions.#ctor

LearningModelSession LearningModelSession

TensorBoolean TensorBoolean

TensorBoolean.Close TensorBoolean.Close
TensorBoolean.CreateFromBuffer TensorBoolean.CreateFromBuffer
TensorBoolean.CreateFromShapeArrayAndDataArray TensorBoolean.CreateFromShapeArrayAndDataArray
TensorBoolean.CreateReference TensorBoolean.CreateReference

TensorDouble TensorDouble

TensorDouble.Close TensorDouble.Close
TensorDouble.CreateFromBuffer TensorDouble.CreateFromBuffer
TensorDouble.CreateFromShapeArrayAndDataArray TensorDouble.CreateFromShapeArrayAndDataArray
TensorDouble.CreateReference TensorDouble.CreateReference

TensorFloat16Bit TensorFloat16Bit

TensorFloat16Bit.Close TensorFloat16Bit.Close
TensorFloat16Bit.CreateFromBuffer TensorFloat16Bit.CreateFromBuffer
TensorFloat16Bit.CreateFromShapeArrayAndDataArray TensorFloat16Bit.CreateFromShapeArrayAndDataArray
TensorFloat16Bit.CreateReference TensorFloat16Bit.CreateReference

TensorFloat TensorFloat

TensorFloat.Close TensorFloat.Close
TensorFloat.CreateFromBuffer TensorFloat.CreateFromBuffer
TensorFloat.CreateFromShapeArrayAndDataArray TensorFloat.CreateFromShapeArrayAndDataArray
TensorFloat.CreateReference TensorFloat.CreateReference

TensorInt16Bit TensorInt16Bit

TensorInt16Bit.Close TensorInt16Bit.Close
TensorInt16Bit.CreateFromBuffer TensorInt16Bit.CreateFromBuffer
TensorInt16Bit.CreateFromShapeArrayAndDataArray TensorInt16Bit.CreateFromShapeArrayAndDataArray
TensorInt16Bit.CreateReference TensorInt16Bit.CreateReference

TensorInt32Bit TensorInt32Bit

TensorInt32Bit.Close TensorInt32Bit.Close
TensorInt32Bit.CreateFromBuffer TensorInt32Bit.CreateFromBuffer
TensorInt32Bit.CreateFromShapeArrayAndDataArray TensorInt32Bit.CreateFromShapeArrayAndDataArray
TensorInt32Bit.CreateReference TensorInt32Bit.CreateReference

TensorInt64Bit TensorInt64Bit

TensorInt64Bit.Close TensorInt64Bit.Close
TensorInt64Bit.CreateFromBuffer TensorInt64Bit.CreateFromBuffer
TensorInt64Bit.CreateFromShapeArrayAndDataArray TensorInt64Bit.CreateFromShapeArrayAndDataArray
TensorInt64Bit.CreateReference TensorInt64Bit.CreateReference

TensorInt8Bit TensorInt8Bit

TensorInt8Bit.Close TensorInt8Bit.Close
TensorInt8Bit.CreateFromBuffer TensorInt8Bit.CreateFromBuffer
TensorInt8Bit.CreateFromShapeArrayAndDataArray TensorInt8Bit.CreateFromShapeArrayAndDataArray
TensorInt8Bit.CreateReference TensorInt8Bit.CreateReference

TensorString TensorString

TensorString.Close TensorString.Close
TensorString.CreateFromShapeArrayAndDataArray TensorString.CreateFromShapeArrayAndDataArray
TensorString.CreateReference TensorString.CreateReference

TensorUInt16Bit TensorUInt16Bit

TensorUInt16Bit.Close TensorUInt16Bit.Close
TensorUInt16Bit.CreateFromBuffer TensorUInt16Bit.CreateFromBuffer
TensorUInt16Bit.CreateFromShapeArrayAndDataArray TensorUInt16Bit.CreateFromShapeArrayAndDataArray
TensorUInt16Bit.CreateReference TensorUInt16Bit.CreateReference

TensorUInt32Bit TensorUInt32Bit

TensorUInt32Bit.Close TensorUInt32Bit.Close
TensorUInt32Bit.CreateFromBuffer TensorUInt32Bit.CreateFromBuffer
TensorUInt32Bit.CreateFromShapeArrayAndDataArray TensorUInt32Bit.CreateFromShapeArrayAndDataArray
TensorUInt32Bit.CreateReference TensorUInt32Bit.CreateReference

TensorUInt64Bit TensorUInt64Bit

TensorUInt64Bit.Close TensorUInt64Bit.Close
TensorUInt64Bit.CreateFromBuffer TensorUInt64Bit.CreateFromBuffer
TensorUInt64Bit.CreateFromShapeArrayAndDataArray TensorUInt64Bit.CreateFromShapeArrayAndDataArray
TensorUInt64Bit.CreateReference TensorUInt64Bit.CreateReference

TensorUInt8Bit TensorUInt8Bit

TensorUInt8Bit.Close TensorUInt8Bit.Close
TensorUInt8Bit.CreateFromBuffer TensorUInt8Bit.CreateFromBuffer
TensorUInt8Bit.CreateFromShapeArrayAndDataArray TensorUInt8Bit.CreateFromShapeArrayAndDataArray
TensorUInt8Bit.CreateReference TensorUInt8Bit.CreateReference

Windows.ApplicationModel Windows.ApplicationModel

Windows.ApplicationModel Windows.ApplicationModel

Package Package

Package.EffectiveLocation Package.EffectiveLocation
Package.MutableLocation Package.MutableLocation

Windows.ApplicationModel.AppService Windows.ApplicationModel.AppService

AppServiceConnection AppServiceConnection

AppServiceTriggerDetails AppServiceTriggerDetails

StatelessAppServiceResponse StatelessAppServiceResponse

StatelessAppServiceResponseStatus StatelessAppServiceResponseStatus

StatelessAppServiceResponse StatelessAppServiceResponse

StatelessAppServiceResponse.Message StatelessAppServiceResponse.Message
StatelessAppServiceResponse.Status StatelessAppServiceResponse.Status

Windows.ApplicationModel.Background Windows.ApplicationModel.Background

ConversationalAgentTrigger ConversationalAgentTrigger

ConversationalAgentTrigger ConversationalAgentTrigger
ConversationalAgentTrigger.#ctor ConversationalAgentTrigger.#ctor

Источник

Пакет SDK для Windows 10

В состав пакета SDK для Windows 10 (10.0.19041.0) версии 2004 входят новейшие заголовки, библиотеки, метаданные и средства для создания приложений для Windows 10.

Этот пакет SDK поможет вам в создании приложений универсальной платформы Windows (UWP), а также приложений Win32 для Windows 10 версии 20H2 и для предыдущих выпусков Windows.

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

Новый пакет Windows SDK для этой версии Windows выпущен не будет, так как в этом выпуске не вводятся новые API. Это означает, что нет необходимости вносить изменения в файлы проекта или задавать новую целевую версию Windows. Продолжайте использовать пакет Windows 10 SDK для Windows 10 (версия 2004). При указании целевой версии для приложения Windows версия Windows 10 (сборка 19041) по-прежнему является последней целевой версией.

Начало работы

Получить пакет SDK для Windows 10 можно двумя способами: установить с этой страницы, щелкнув ссылку для скачивания, или выбрать эту версию пакета SDK для Windows 10 (10.0.19041.0) в дополнительных компонентах установщика Visual Studio 2019.

Перед установкой этого пакета SDK:

Системные требования

Минимальные системные требования этого пакета Windows SDK:

Поддерживаемые операционные системы

(Не все средства поддерживаются в среде операционных систем более ранних версий)

Требования к оборудованию

Дополнительные требования для этого SDK

Для установки пакета в среде Windows 8.1 и операционных систем более ранних версий необходимо сначала установить обновление KB2999226. Чтобы выполнить установку Windows SDK через Центр обновления Windows, перед этим необходимо установить последние рекомендованные обновления и исправления из Центра обновления Майкрософт.

Что нового

В состав пакета SDK для Windows 10 версии 2004 входят новые API-интерфейсы и обновленные средства для разработки Windows-приложений. Узнайте больше о новых возможностях Windows 10 версии 2004.

Интерфейсы API

Сведения о новых API, появившихся в Windows 10 версии 2004, см. в статье о новых возможностях для разработчиков в Windows 10, сборка 19041.

Удаление api-ms-win-net-isolation-l1-1-0.lib

В этом выпуске библиотека api-ms-win-net-isolation-l1-1-0.lib удалена из пакета Windows SDK. Приложения, связанные с api-ms-win-net-isolation-l1-1-0.lib, в качестве замены можно перейти на OneCoreUAP.lib.

Удаление irprops.lib

В этом выпуске библиотека irprops.lib удалена из пакета Windows SDK. Приложения, связанные с irprops.lib, в качестве замены можно перейти на OneCoreUAP.lib.

Удаление wuapicommon.h и wuapicommon.idl

В этом выпуске мы переместили ENUM tagServerSelection из wuapicommon.h в wupai.h и удалили заголовок. Если вы хотите использовать ENUM tagServerSelection, необходимо включить wuapi.h или wuapi.idl.

Пакет с новыми API-интерфейсами WinRT для Windows 10

Универсальная среда выполнения C (UCRT)

Семейство функций printf теперь соответствует правилам округления IEEE 754 при печати точно представляемых чисел с плавающей запятой и учитывает режим округления, запрошенный посредством вызовов к fesetround. Поведение прежних версий доступно при связывании с legacy_stdio_float_rounding.obj.

Инструменты

Комплект сертификации приложений для Windows

В этом выпуске Windows SDK добавлено несколько поддерживаемых API-интерфейсов в комплекте сертификации приложений для Windows и Microsoft Store. Если в списке поддерживаемых есть неактивные или отключенные в Visual Studio интерфейсы API, для доступа к ним можно внести небольшое изменение в исходный файл. Дополнительные сведения см. в описании этой известной проблемы.

Читайте также:  Symantec norton ghost для windows 10

Помимо добавления API, в тесты были внесены указанные ниже изменения.

Компилятор сообщений (mc.exe)

Windows Trace Preprocessor (tracewpp.exe)

TraceLoggingProvider.h

Подписывание приложений с помощью подписи Device Guard

Мы упростили процедуру подписывания приложения. Подпись Device Guard – это функция Device Guard, доступная в Microsoft Store для бизнеса и образования. Подписывание позволяет компаниям гарантировать, что каждое приложение поступает из надежного источника. Наша цель — упростить подписывание пакета MSIX. См. документацию по подписыванию Device Guard.

Примеры

Примеры приложений для Windows 10 теперь доступны через GitHub. Вы можете просмотреть код на веб-сайте GitHub, клонировать личную копию репозитория из Git или скачать запакованный архив со всеми примерами. Для нас очень важен ваш отзыв. Поэтому при возникновении проблемы или вопроса относительно репозитория без колебаний сообщайте нам. Эти примеры предназначены для запуска на настольном, мобильном и будущих устройствах, которые поддерживают платформу универсальных приложений для Windows (UWP).

Предыдущие версии пакетов SDK

Ранее выпущенные пакеты SDK и эмуляторы, а также сведения об обновлениях см. на странице архивов.

Активация API-интерфейсов

При использовании новых API-интерфейсов целесообразно создавать адаптивные приложения, которые смогут правильно выполняться на наибольшем количестве устройств с Windows 10. Новые функции в адаптивных приложениях «активируются», если устройство и версия Windows поддерживают их. В противном случае они предоставляют только те функциональные возможности, которые доступны в версии обнаруженной платформы. Сведения о реализации см. в статье Адаптивный к версии код.

Заметки о выпуске и известные проблемы

Пакет SDK для Windows 10 версии 2004 с обновлением функций обслуживания (выпущено 16.12.2020) для SDK содержит следующие исправления. Если вы столкнетесь с этими проблемами, рекомендуем как можно скорее обновить версию пакета SDK, чтобы избежать их:

Сведения об известных проблемах см. на странице вопросов и ответов по SDK для WinAPI.

Запросы на новые функции для разработчиков можно подавать с помощью приложения Центра отзывов в категории «Платформа разработчиков/API».

Источник

Windows 10 SDK

The Windows 10 SDK (10.0.19041.0) for Windows 10, version 2004 provides the latest headers, libraries, metadata, and tools for building Windows 10 apps.

Use this SDK to build Universal Windows Platform (UWP) and Win32 applications for Windows 10, version 20H2 and previous Windows releases.

Windows 10, version 20H2 is a scoped set of features for select performance improvements and quality enhancements. Developers should be aware of this release, but no action is necessary at this time.

A new Windows SDK will not be issued to accompany this version of Windows because this release doesn’t introduce new APIs. That means there’s no need to modify your project files or target a new version of Windows, and you should continue to use the Windows 10 SDK for Windows 10, version 2004. When setting the target version for your Windows app, Windows 10 build 19041 is still the most recent target version.

Getting started

You can get the Windows 10 SDK in two ways: install it from this page by selecting the download link or by selecting “Windows 10 SDK (10.0.19041.0)” in the optional components of the Visual Studio 2019 Installer.

Before you install this SDK:

System requirements

The Windows SDK has the following minimum system requirements:

Supported operating systems

(Not all tools are supported on earlier operating systems)

Hardware requirements

Additional SDK requirements

Installation on Windows 8.1 and earlier operating systems requires KB2999226. To install through Windows Update, make sure you install the latest recommended updates and patches from Microsoft Update before you install the Windows SDK.

What’s new

The Windows 10 SDK for Windows 10, version 2004 offers exciting new APIs and updated tools for developing your Windows applications. Learn more about the new features in Windows 10, version 2004.

To see the new APIs introduced with Windows 10, version 2004, see: What’s new in Windows 10 for developers, build 19041.

Removal of api-ms-win-net-isolation-l1-1-0.lib

In this release api-ms-win-net-isolation-l1-1-0.lib has been removed from the Windows SDK. Apps that were linking against api-ms-win-net-isolation-l1-1-0.lib can switch t OneCoreUAP.lib as a replacement.

Removal of irprops.lib

In this release irprops.lib has been removed from the Windows SDK. Apps that were linking against irprops.lib can switch to bthprops.lib as a drop-in replacement.

Removal of wuapicommon.h and wuapicommon.idl

In this release we have moved ENUM tagServerSelection from wuapicommon.h to wupai.h and removed the header. If you would like to use the ENUM tagServerSelection, you will need to include wuapi.h or wuapi.idl.

Windows 10 WinRT API Pack

Universal C Runtime (UCRT)

The printf family of functions now conforms with the IEEE 754 rounding rules when printing exactly representable floating-point numbers and will honor the rounding mode requested via calls to fesetround. Legacy behavior is available when linking with legacy_stdio_float_rounding.obj.

Tools

Windows App Certification Kit

In this release of the Windows SDK, several new APIs were added to the Supported APIs list in the App Certification Kit and Windows Store. If there are APIs in the supported list that appear greyed out or disabled in Visual Studio, you can make a small change to your source file, to access them. For more details, see this known issue.

In addition to adding APIs, the following changes have been made to the tests:

Message Compiler (mc.exe)

Windows Trace Preprocessor (tracewpp.exe)

TraceLoggingProvider.h

Signing your apps with Device Guard Signing

We are making it easier for you to sign your app. Device Guard signing is a Device Guard feature that is available in Microsoft Store for Business and Education. Signing allows enterprises to guarantee every app comes from a trusted source. Our goal is to make signing your MSIX package easier. See the documentation about Device Guard Signing.

Samples

Windows 10 app samples are now available through GitHub. You can browse the code on GitHub, clone a personal copy of the repository from Git, or download a zipped archive of all the samples. We welcome feedback, so feel free to open an issue within the repository if you have a problem or question. These samples are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform (UWP).

Previous SDK versions

Previously released SDKs and emulators, including update details, can be found on the archive page.

API Light Up

When you use new APIs, consider writing your app to be adaptive so that it runs correctly on the widest array of Windows 10 devices. An adapative app «lights up» with new features wherever the devices and Windows version supports them, but otherwise offers only the functionality available on the detected platform version. For implementation details, see the Version adaptive code article.

Release notes & Known Issues

The Windows 10 SDK, Version 2004 SDK servicing update (released 12/16/2020) contains the following fixes. If you encounter these issues, we recommend that you update your version of the SDK as soon as possible to avoid them:

Читайте также:  Windows 7 starter не обновляется

For known issues, see the winapi-sdk Q&A.

For new developer feature requests, submit through the Feedback Hub app under the category “Developer Platform/API.”

More resources

Downloads and tools

Get the latest editions of Visual Studio and Windows 10 development tools.

SDK archive

Find previous releases of the Window SDK and other tools.

Windows blog

Stay in touch with the latest SDK flights by subscribing to our blog.

Windows lifecycle fact sheet

Find the key dates for Windows release updates and end of support.

Источник

Вызов API для среды выполнения Windows в классических приложениях Call Windows Runtime APIs in desktop apps

С помощью API-интерфейсов универсальной платформы Windows (UWP) в классических приложениях вы можете добавить современные возможности, которые привлекут внимание пользователей Windows 10. You can use Universal Windows Platform (UWP) APIs to add modern experiences to your desktop apps that light up for Windows 10 users.

Прежде всего настройте в проекте необходимые ссылки. First, set up your project with the required references. Затем вызовите API среды выполнения Windows из кода приложения, чтобы добавить в него новые возможности Windows 10. Then, call Windows Runtime APIs from your code to add Windows 10 experiences to your desktop app. Вы можете создавать отдельные версии для пользователей Windows 10 либо распространять одинаковые двоичные файлы для всех пользователей независимо от того, с какой версией Windows они работают. You can build separately for Windows 10 users or distribute the same binaries to all users regardless of which version of Windows they run.

Некоторые API среды выполнения Windows поддерживаются только в классических приложениях с идентификатором пакета. Some Windows Runtime APIs are supported only in desktop apps that have package identity. Подробнее см. в разделе Доступные API среды выполнения Windows. For more information, see Available Windows Runtime APIs.

В Visual Studio щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Изменить файл проекта. With your project open in Visual Studio, right-click your project in Solution Explorer and choose Edit Project File. Файл проекта должен выглядеть примерно так. Your project file should look similar to this.

Замените значение элемента TargetFramework одной из следующих строк: Replace the value of the TargetFramework element with one of the following strings:

Например, следующий элемент используется для проекта, предназначенного для Windows 10 версии 2004. For example, the following element is for a project that targets Windows 10, version 2004.

Сохраните изменения и закройте файл проекта. Save your changes and close the project file.

Убедитесь, что ссылки на пакеты активны: Make sure package references are enabled:

В Visual Studio щелкните правой кнопкой мыши проект в обозревателе решений и выберите элемент Управление пакетами NuGet. With your project open in Visual Studio, right-click your project in Solution Explorer and choose Manage NuGet Packages.

Когда пакет Microsoft.Windows.SDK.Contracts будет найден, выберите на правой панели диспетчера пакетов NuGet нужную версию пакета в зависимости от версии Windows 10, на которую нужно ориентировать приложение: After the Microsoft.Windows.SDK.Contracts package is found, in the right pane of the NuGet Package Manager window select the Version of the package you want to install based on the version of Windows 10 you want to target:

Нажмите кнопку Установить. Click Install.

По завершении файл проекта должен выглядеть примерно так. When you’re done, your project file should look similar to this.

Сохраните изменения и закройте файл проекта. Save your changes and close the project file.

Настройка использования API среды выполнения Windows в проекте Win32 на C++ Modify a C++ Win32 project to use Windows Runtime APIs

Примените C++/WinRT для использования API среды выполнения Windows. Use C++/WinRT to consume Windows Runtime APIs. C++/WinRT — это полностью стандартная проекция языка C++17 для API среды выполнения Windows (WinRT), реализованная как библиотека на основе файлов заголовков и предназначенная для предоставления вам первоклассного доступа к современным интерфейсам API Windows. C++/WinRT is an entirely standard modern C++17 language projection for Windows Runtime (WinRT) APIs, implemented as a header-file-based library, and designed to provide you with first-class access to the modern Windows API.

Чтобы настроить C++/WinRT для проекта, сделайте следующее: To configure your project for C++/WinRT:

Дополнительные сведения об этом варианте см. в этой статье. For more details about these options, see this article.

Добавление возможностей Windows 10 Add Windows 10 experiences

Теперь все готово для добавления современных видов взаимодействия, которые активируются, когда пользователь запускает ваше приложение в Windows 10. Now you’re ready to add modern experiences that light up when users run your application on Windows 10. Используйте этот процесс разработки. Use this design flow.

Сначала определите, какие возможности нужно добавить First, decide what experiences you want to add

Выбор огромен. There’s lots to choose from. Например, можно упростить оформление покупки с помощью API монетизации либо привлечь внимание к приложению, когда вы можете предложить что-либо интересное, например новую фотографию, добавленную другим пользователем. For example, you can simplify your purchase order flow by using monetization APIs, or direct attention to your application when you have something interesting to share, such as a new picture that another user has posted.

Даже если пользователи не обращают внимания на ваше сообщение или закрывают его, они могут снова увидеть его в центре уведомлений, а затем щелкнуть сообщение, чтобы открыть приложение. Even if users ignore or dismiss your message, they can see it again in the action center, and then click on the message to open your app. Это позволяет увеличить объем взаимодействия с приложением и обеспечивает дополнительное преимущество в виде тесной интеграции вашего приложения с операционной системой. This increases engagement with your application and has the added bonus of making your application appear deeply integrated with the operating system. Мы предложим код для реализации этой возможности чуть позже в этой статье. We’ll show you the code for that experience a bit later in this article.

Дополнительные сведения см. в документации по UWP. Visit the UWP documentation for more ideas.

Выберите путь улучшения: дополнить или расширить Decide whether to enhance or extend

Вам часто будут встречаться термины дополнить и расширить, поэтому сейчас мы поясним, какой именно смысл вкладываем в них. You’ll often hear us use the terms enhance and extend, so we’ll take a moment to explain exactly what each of these terms mean.

Термин дополнить относится к API среды выполнения Windows, которые вы можете вызывать напрямую из классического приложения (независимо от того, применяете ли вы для приложения упаковку в пакет MSIX). We use the term enhance to describe Windows Runtime APIs that you can call directly from your desktop app (whether or not you have chosen to package your application in an MSIX package). При выборе новой возможности Windows 10 определите API-интерфейсы, которые вам необходимы для ее реализации, а затем проверьте, входит ли нужный API в этот список. When you’ve chosen a Windows 10 experience, identify the APIs that you need to create it, and then see if that API appears in this list. Это список API-интерфейсов, которые можно вызывать непосредственно из классического приложения. This is a list of APIs that you can call directly from your desktop app. Если выбранный API не входит в этот список, значит, связанные с этим API функции могут работать только в рамках процесса UWP. If your API does not appear in this list, that’s because the functionality associated with that API can run only within a UWP process. Сюда часто входят API-интерфейсы, которые отображают элементы XAML UWP, например элемент управления картой UWP или запрос безопасности Windows Hello. Often times, these include APIs that render UWP XAML such as a UWP map control or a Windows Hello security prompt.

Читайте также:  Microsoft office 365 для windows 7

API, которые отображают XAML UWP, обычно нельзя напрямую вызывать из классического приложений. Но иногда для них доступны альтернативные подходы. Although APIs that render UWP XAML typically cannot be called directly from your desktop, you might be able to use alternative approaches. Если вы хотите разместить элементы управления XAML UWP или другие пользовательские визуальные объекты, попробуйте применить XAML Islands (доступны в Windows 10 с версии 1903) и (или) визуальный уровень (доступен в Windows 10 с версии 1803). If you want to host UWP XAML controls or other custom visual experiences, you can use XAML Islands (starting in Windows 10, version 1903) and the Visual layer (starting in Windows 10, version 1803). Эти возможности можно использовать в упакованных и неупакованных классических приложениях. These features can be used in packaged or unpackaged desktop apps.

Если вы решили упаковать классическое приложение в пакет MSIX, у вас есть возможность расширить это приложение, добавив к нему проект UWP. If you have chosen to package your desktop app in an MSIX package, another option is to extend the application by adding a UWP project to your solution. Проект классического приложения по-прежнему остается точкой входа для вашего приложения. Но проект UWP предоставляет доступ ко всем API-интерфейсам, которые не входят в этот список. The desktop project is still the entry point of your application, but the UWP project gives you access to all of the APIs that do not appear in this list. Классические приложения могут взаимодействовать с процессами UWP с помощью службы приложений. У нас есть множество рекомендаций по настройке этой функции. The desktop app can communicate with the UWP process by using a an app service and we have lots of guidance on how to set that up. Если вы хотите добавить возможность, для которой требуется проект UWP, см. раздел Расширение возможностей с помощью компонентов UWP. If you want to add an experience that requires a UWP project, see Extend with UWP components.

Добавьте ссылки на контракты API Reference API contracts

Если вы можете вызывать API непосредственно из классического приложения, откройте браузер и найдите справочный раздел для этого API-интерфейса. If you can call the API directly from your desktop app, open a browser and search for the reference topic for that API. Под общей информацией об API там представлена таблица с описанием контракта для этого API. Beneath the summary of the API, you’ll find a table that describes the API contract for that API. Пример такой таблицы приведен ниже. Here’s an example of that table:

Вызовите API-интерфейсы для добавления возможности Call the APIs to add your experience

Ниже приведен код для отображения окна уведомлений, которое мы уже видели ранее. Here’s the code that you’d use to show the notification window that we looked at earlier. Эти API-интерфейсы внесены в этот список, а значит, вы можете добавить этот код в классическое приложение и запустить его прямо сейчас. These APIs appear in this list so you can add this code to your desktop app and run it right now.

Поддержка установочных баз Windows XP, Windows Vista, Windows 7 и Windows 8 Support Windows XP, Windows Vista, and Windows 7/8 install bases

Вы можете модернизировать приложение для Windows 10, не создавая новую ветвь и не поддерживая раздельные базы кода. You can modernize your application for Windows 10 without having to create a new branch and maintain separate code bases.

Если вы хотите создать отдельные двоичные файлы для пользователей Windows 10, используйте условную компиляцию. If you want to build separate binaries for Windows 10 users, use conditional compilation. Если вы предпочитаете создать один набор двоичных файлов, которые развертываются для всех пользователей Windows, используйте проверки во время выполнения. If you’d prefer to build one set of binaries that you deploy to all Windows users, use runtime checks.

Давайте вкратце рассмотрим эти варианты. Let’s take a quick look at each option.

Условная компиляция Conditional compilation

Можно вести одну базу кода и компилировать набор двоичных файлов только для пользователей Windows 10. You can keep one code base and compile a set of binaries just for Windows 10 users.

Для этого добавьте новую конфигурацию сборки в проект. First, add a new build configuration to your project.

Создайте константу для этой конфигурации сборки, чтобы определить код, который будет вызывать API среды выполнения Windows. For that build configuration, create a constant that to identify code that calls Windows Runtime APIs.

Для проектов на основе C++ эта константа называется описанием препроцессора. For C++-based projects, the constant is called a Preprocessor Definition.

Добавьте эту константу до всех блоков кода UWP. Add that constant before any block of UWP code.

Компилятор выполнит сборку этого кода, только если соответствующая константа определена в активной конфигурации сборки. The compiler builds that code only if that constant is defined in your active build configuration.

Проверки во время выполнения Runtime checks

Можно скомпилировать один набор двоичных файлов для всех пользователей Windows независимо от того, какую версию Windows они используют. You can compile one set of binaries for all of your Windows users regardless of which version of Windows they run. В этом случае приложение будет обращаться к API среды выполнения Windows, только если пользователь выполняет его как упакованное приложение в среде Windows 10. Your application calls Windows Runtime APIs only if the user is runs your application as a packaged application on Windows 10.

Получение ответов на вопросы Find answers to your questions

Есть вопросы? Have questions? Задайте их на Stack Overflow. Ask us on Stack Overflow. Наша команда следит за этими тегами. Our team monitors these tags. Вы также можете задать нам вопросы здесь. You can also ask us here.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector