Moderne Windows-functies gebruiken in bureaublad-apps

U hoeft uw WPF-, Windows Forms- of Win32-app niet opnieuw te schrijven om te profiteren van moderne Windows-functies. De Windows App SDK en het bredere Windows platform bieden modulaire mogelijkheden die u in uw eigen tempo kunt gebruiken.

Opmerking

In dit artikel wordt beschreven hoe u moderne Windows-functies toevoegt aan uw bestaande bureaublad-app. Als u uw .NET hulpprogrammaketen of C++-compiler wilt moderniseren, raadpleegt u GitHub Copilot modernisering voor .NET of de handleiding voor het overzetten en upgraden van Microsoft C++.

Uw UI-framework migreren?

Als u de ui-laag van uw app volledig wilt moderniseren, is het aanbevolen pad om te migreren naar WinUI 3: het systeemeigen UI-framework voor Windows desktop-apps. Zie Uw eerste WinUI 3-app maken om aan de slag te gaan.

Als u Windows functies wilt toevoegen aan uw bestaande app-framework (WPF, WinForms of C++ Win32) zonder de gebruikersinterfacelaag te wijzigen, leest u verder.

Kies uw benadering

De drie moderniseringsmethoden zijn onafhankelijk. U kunt één, twee of alle drie in dezelfde app gebruiken.

Approach Wat het u geeft Heeft verpakking nodig?
WinRT-API's Directe toegang tot Windows platform-API's (meldingen, Bluetooth, contract, sensoren delen en meer) vanuit elke .NET- of C++-desktop-app Nee, voor de meeste API's
Windows App SDK Een NuGet-pakket met moderne Windows ontwikkelfuncties (vensters, tekstweergave, resources en meer) aan bestaande apps Nee, voor de meeste functies
MSIX-verpakking Een modern installatieprogramma met schone verwijdering, automatische updates en pakketidentiteit; kan worden toegevoegd zonder de broncode van de app te wijzigen n.v.t. — verpakking is de benadering

Aanbeveling

Begin met WinRT-API's als u een specifieke Windows platform-API wilt aanroepen. Voeg de Windows App SDK toe wanneer u de functies nodig hebt (DWriteCore, MRT Core, windowing). Voeg MSIX-pakketten toe wanneer u pakketidentiteit nodig hebt of uw installatieprogramma wilt moderniseren.

WinRT-APIs

Windows Runtime (WinRT)-API's maken Windows platformfuncties beschikbaar, zoals app-meldingen, het sharecontract, Bluetooth en meer. U kunt deze API's rechtstreeks aanroepen vanuit WPF-, Windows Forms- en C++ Win32-apps.

Windows App SDK

De Windows App SDK biedt moderne Windows ontwikkelfuncties als een NuGet-pakket dat u aan uw bestaande project toevoegt. U hoeft uw UI-framework niet te wijzigen.

MSIX-packaging en pakketidentiteit

MSIX-pakketten vervangen uw bestaande installatieprogramma en geven uw app-pakketidentiteit. Sommige Windows functies, waaronder achtergrondtaken, opstarttaken, bestandskoppelingen en Windows AI Foundry, vereisen pakketidentiteit tijdens runtime. Als u uw bestaande installatieprogramma wilt behouden, kunt u nog steeds pakketidentiteit verlenen zonder volledige MSIX-pakketten, een benadering die ook wel pakketten met externe locatie of een sparse-pakket wordt genoemd.

Frameworkspecifieke uitgangspunten

Uw framework Aanbevolen uitgangspunt
WPF De Windows App SDK gebruiken in een bestaand project
WinForms De Windows App SDK gebruiken in een bestaand project
C++ Win32 De Windows App SDK gebruiken in een bestaand project
C++/WinRT WinRT-API's voor bureaublad-apps

Catalogus met functies

De volgende tabel bevat algemene moderniseringsfuncties en of ze de Windows App SDK of pakketidentiteit vereisen.

AI

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
WINDOWS AI Foundry No Ja

Gebruikersinterface en tekst

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
WinUI 3-onderdelen in een bureaublad-app Ja No
Tekst weergeven met DWriteCore Ja No
Mica of Acrylic gebruiken in Win32-apps No No
Afgeronde hoeken toepassen No No
Thema's voor Windows toepassen No No

App-levenscyclus

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
Achtergrondtaken (Windows App SDK) Ja Ja
Opstarttaken No Ja

integratie van Windows

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
Integratie van werkblad delen No No
Personen-API voor meerdere apparaten No No
Bestandskoppelingen No Ja
Windows Widgets No Ja

Security

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
Geloofsbrievenkluis No No
OAuth 2.0 No No
biometrie van vingerafdrukken No No
Smartcards No No
Cryptografie No No

Resources

Eigenschap Windows App SDK vereist? Pakketidentiteit vereist?
MRT Core-resourcebeheer Ja No

Zie Functies voor de ontwikkeling van Windows-apps voor de volledige lijst met functies die beschikbaar zijn in desktop-apps.

Door AI ondersteunde modernisering

De GitHub Copilot moderniseringsagent kan uw bureaubladoplossing analyseren en pull-aanvragen genereren die moderne Windows-functies toevoegen of uw app upgraden naar een nieuwere .NET versie. Zie ai-ondersteunde modernisering voor meer informatie.

Zie ook

Volgende stappen