在桌面應用程式中使用現代 Windows 功能

你不需要重寫 WPF、Windows Forms 或 Win32 應用程式來享受現代 Windows 的功能。 Windows 應用程式 SDK 以及更廣泛的 Windows 平台提供模組化功能,你可以以自己的步調逐步採用。

備註

本文介紹如何在現有桌面應用程式中加入現代 Windows 功能。 如果你想現代化你的 .NET 工具鏈或 C++ 編譯器,請參考 GitHub Copilot 的 .NET 現代化,或是 Microsoft C++ 移植與升級指南

遷移你的 UI 框架?

如果你的目標是全面現代化應用程式的 UI 層,建議的路徑是遷移到 WinUI 3——Windows 桌面應用程式的原生 UI 框架。 請參考 「建立你的第一個 WinUI 3 應用程式 」來開始。

如果你想在不更改使用者介面層的情況下,為現有的應用程式框架(WPF、WinForms 或 C++ Win32)新增 Windows 功能,請繼續閱讀。

選擇您的方法

這三種現代化方法彼此獨立。 你可以在同一個應用程式中使用其中一組、兩組或全部三組。

Approach 它給你什麼 需要包裝嗎?
WinRT API 可直接從任何 .NET 或 C++ 桌面應用程式存取 Windows 平台的 API(通知、藍牙、分享合約、感測器等) 不,大多數 API 都沒有
Windows 應用程式 SDK NuGet 套件將現代 Windows 開發功能(視窗、文字渲染、資源等)帶入現有應用程式 不,大部分功能皆不支援。
MSIX 封裝 現代安裝程式,具備乾淨卸載、自動更新及套件識別;可在不更改應用程式原始碼的情況下新增 N/A — 包裝該方法

提示

如果你想呼叫特定的 Windows 平台 API,可以先從 WinRT API 開始。 當你需要 Windows 應用程式 SDK 的功能(DWriteCore、MRT Core、視窗功能)時,就加入它。 當你需要套件識別碼或想要現代化安裝程式時,可以加入 MSIX 封裝

WinRT API 介面

Windows 執行階段(WinRT)API 提供 Windows 平台功能,如應用程式通知、共享合約、藍牙等。 你可以直接從 WPF、Windows Forms 和 C++ Win32 應用程式呼叫這些 API。

Windows 應用程式 SDK

Windows 應用程式 SDK 以 NuGet 套件的形式,提供現代化的 Windows 開發功能,你可以加入現有專案中。 你不需要改變你的 UI 框架。

MSIX 封裝與封裝識別碼

MSIX 封裝會取代你現有的安裝程式,並賦予你的應用程式套件身份。 部分 Windows 功能——包括背景任務、啟動任務、檔案關聯及 Windows AI Foundry——在執行時需要套件識別碼。 如果你想保留現有安裝程式,仍然可以授予套件身份,而不必完全使用 MSIX 封裝——這種做法有時稱為 帶有外部位置的封裝稀疏封包

特定框架的起始點

你的框架 建議起點
WPF 在現有的專案中使用 Windows 應用程式 SDK
WinForms 在現有的專案中使用 Windows 應用程式 SDK
C++ Win32 在現有的專案中使用 Windows 應用程式 SDK
C++/WinRT 桌面應用程式的 WinRT API

功能目錄

下表列出常見的現代化功能,以及它們是否需要 Windows 應用程式 SDK 或套件識別碼。

AI

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
Windows AI Foundry No Yes

使用者介面與文字

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
桌面應用程式中的 WinUI 3 元件 Yes No
以 DWriteCore 轉譯文字 Yes No
在 Win32 應用程式上塗抹雲母或壓克力 No No
加圓角 No No
套用 Windows 主題 No No

應用程式週期

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
背景任務(Windows 應用程式 SDK) Yes Yes
啟動任務 No Yes

Windows 整合

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
分享表整合 No No
跨裝置人員 API No No
檔案關聯 No Yes
Windows 小工具 No Yes

安全性

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
認證保險箱 No No
OAuth 2.0 No No
指紋生物識別技術 No No
智慧卡 No No
密碼學 No No

資源

Feature 需要 Windows 應用程式 SDK 嗎? 需要套件識別資訊嗎?
MRT 核心資源管理 Yes No

欲了解桌面應用程式的完整功能清單,請參見 Windows 應用程式開發功能。

AI 輔助現代化

GitHub Copilot 現代化代理程式可以分析您的桌面解決方案,並產生 pull request,新增現代 Windows 功能,或將您的應用程式升級到更新的 .NET 版本。 詳情請參見 AI 輔助現代化

另請參閱

下一步