无需重写WPF、Windows 窗体或 Win32 应用即可利用新式Windows功能。 Windows 应用 SDK和更广泛的Windows平台提供模块化功能,你可以以自己的速度逐步采用。
本文概述了可使用以下功能添加到桌面应用的新式功能:
- Windows SDK 中的 Windows 运行时 (WinRT) API
- Windows 应用 SDK
- MSIX 打包或包标识
注释
此处未介绍应用现代化的其他方面,例如更新到较新版本的.NET或Visual Studio工具。 有关现代化这些方面的更多信息,可以从以下内容开始:
Windows 运行时 API
许多Windows平台功能(应用通知、共享合同、蓝牙等)通过 Windows 运行时(WinRT) API公开。 可以直接从 WPF、Windows 窗体 和 C++ Win32 应用调用这些 API。
向应用添加新式功能的第一步是将项目配置为使用 WinRT API。 有关说明,请参阅以下内容:
桌面应用中的 调用 Windows 运行时 API
Windows 应用 SDK
Windows 应用 SDK是许多现代Windows平台功能的交付方式。 可以在现有应用中使用Windows 应用 SDK,而无需更改 UI 框架。
Important
这些 API 使用 WinRT API 模型,因此请确保还已将项目配置为使用 WinRT API。
添加Windows 应用 SDK NuGet 包,并将其 API 与现有代码一起调用。 有关说明,请参阅以下内容:
应用打包
打包定义应用如何安装、更新和与 Windows 集成。 在打包或未打包的应用之间进行选择会影响可以使用的功能、依赖的部署模型、对Microsoft Store和企业部署管道的访问权限,以及客户获得的整体体验。
有关详细信息,请参阅:
使用 MSIX 打包
使用 MSIX 打包应用会替换当前安装程序。 它提供新式、可靠的安装体验、干净卸载、自动更新和包标识。 MSIX 打包与将应用代码现代化分开 - 无需更改任何源代码即可使用 MSIX 打包WPF、WinForms 或 Win32 应用。
有关详细信息,请参阅:
需要包标识的功能
某些Windows平台功能(包括后台任务、应用扩展、共享目标、Windows AI Foundry API、文件关联和启动任务)要求应用在运行时具有 package identity。 如果要保留当前安装程序,仍可向未打包的应用授予标识,而无需进行完整的 MSIX 打包。 此方法有时称为 稀疏包 或 外部位置打包。
有关详细信息,请参阅:
添加新式功能
Windows应用开发功能中有许多可用于 WPF、WinForms 和 Win32 应用的功能。 可以浏览该部分,或使用此非全面列表直接跳转到一些常见功能。
- Windows AI Foundry
- 在Windows应用中使用后台任务
- 跨设备用户 API
- 在 Windows 应用中集成“共享”选项
- 使用 DWriteCore 呈现文本
- 使用 MRT Core 管理资源
- 开发 Windows 小组件
- 适用于Windows应用的凭据库
- 加密
- 指纹生物识别
- Windows 应用中的 Implement OAuth 2.0
- 智能卡
迁移到 WinUI 3
如果要规划更大的现代化工作(或将新功能构建为单独的模块),请考虑使用 WinUI 3 和 Windows 应用 SDK 生成新组件。 WinUI 3 是用于Windows桌面应用的现代本机 UI 框架,是新开发的建议路径。
请参阅 创建第一个 WinUI 3 应用 以开始使用。