Utiliser des fonctionnalités de Windows modernes dans les applications de bureau

Vous n'avez pas besoin de réécrire votre application WPF, Windows Forms ou Win32 pour tirer parti des fonctionnalités de Windows modernes. Les SDK d'application Windows et la plateforme Windows plus large offrent des fonctionnalités modulaires que vous pouvez adopter de manière incrémentielle, à votre propre rythme.

Note

Cet article traite de l’ajout de fonctionnalités de Windows modernes à votre application de bureau existante. Si vous souhaitez moderniser votre chaîne d’outils .NET ou compilateur C++, consultez GitHub Copilot modernisation pour .NET ou le guide de portage et de mise à niveau Microsoft C++.

Migrer votre infrastructure d’interface utilisateur ?

Si votre objectif est de moderniser entièrement la couche d'interface utilisateur de votre application, le chemin recommandé consiste à migrer vers WinUI 3 , l'infrastructure d'interface utilisateur native pour Windows applications de bureau. Consultez Créer votre première application WinUI 3 pour commencer.

Si vous souhaitez ajouter Windows fonctionnalités à votre infrastructure d’application existante (WPF, WinForms ou Win32 C++ sans modifier votre couche d’interface utilisateur, poursuivez la lecture.

Choisir votre approche

Les trois approches de modernisation sont indépendantes. Vous pouvez utiliser un, deux ou les trois dans la même application.

Approach Ce qu’il vous donne Nécessite l’empaquetage ?
API WinRT Accès direct aux API de plateforme Windows (notifications, Bluetooth, contrat de partage, capteurs, etc.) à partir de n’importe quelle application de bureau .NET ou C++ Non, pour la plupart des API
Kit de développement logiciel (SDK) d’application Windows Package NuGet qui apporte des fonctionnalités de développement de Windows modernes (fenêtrage, rendu de texte, ressources, etc.) aux applications existantes Non, pour la plupart des fonctionnalités
Empaquetage MSIX Un programme d’installation moderne avec une désinstallation propre, des mises à jour automatiques et une identité de package ; peut être ajouté sans modifier le code source de l’application S/O : le packaging est l'approche à adopter

Tip

Commencez par les API WinRT si vous souhaitez appeler une API de plateforme Windows spécifique. Ajoutez le SDK d'application Windows lorsque vous avez besoin de ses fonctionnalités (DWriteCore, MRT Core, fenêtrage). Ajoutez un package MSIX lorsque vous avez besoin d’une identité de package ou souhaitez moderniser votre programme d’installation.

Les API WinRT

les API Windows Runtime (WinRT) exposent Windows fonctionnalités de plateforme telles que les notifications d’application, le contrat de partage, Bluetooth, etc. Vous pouvez appeler ces API directement à partir de WPF, de Windows Forms et d’applications Win32 C++.

Kit de développement logiciel (SDK) d’application Windows

Le SDK d'application Windows offre des fonctionnalités de développement de Windows modernes en tant que package NuGet que vous ajoutez à votre projet existant. Vous n’avez pas besoin de modifier votre infrastructure d’interface utilisateur.

Empaquetage MSIX et identité du package

L’empaquetage MSIX remplace votre programme d’installation existant et donne l’identité de votre package d’application. Certaines fonctionnalités Windows, notamment les tâches en arrière-plan, les tâches de démarrage, les associations de fichiers et Windows AI Foundry, nécessitent une identité de package au moment de l’exécution. Si vous souhaitez conserver votre programme d’installation existant, vous pouvez toujours attribuer une identité de package sans empaquetage MSIX complet — une approche parfois appelée empaquetage avec un emplacement externe ou package clairsemé.

Points de départ spécifiques au framework

Votre infrastructure Point de départ recommandé
WPF Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant
WinForms Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant
C++ Win32 Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant
C++/WinRT API WinRT pour les applications de bureau

Catalogue de fonctionnalités

Le tableau suivant répertorie les fonctionnalités de modernisation courantes et indique si elles nécessitent l’identité de SDK d'application Windows ou de package.

AI

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Windows AI Foundry Non Oui

Interface utilisateur et texte

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Composants WinUI 3 dans une application de bureau Oui Non
Rendre du texte avec DWriteCore Oui Non
Appliquer Mica ou Acrylique aux applications Win32 Non Non
Appliquer des angles arrondis Non Non
Appliquer des thèmes Windows Non Non

Cycle de vie de l’application

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Tâches en arrière-plan (SDK d'application Windows) Oui Oui
Tâches de démarrage Non Oui

Intégration de Windows

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Intégration de feuille de partage Non Non
API Cross Device People Non Non
Associations de fichiers Non Oui
Les Widgets de Windows Non Oui

Security

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Stockage sécurisé des informations d’identification Non Non
OAuth 2.0 Non Non
Biométrie par empreinte digitale Non Non
Cartes à puce Non Non
Cryptographie Non Non

Resources

Fonctionnalité SDK d'application Windows obligatoire ? Identité de package requise ?
Gestion des ressources MRT Core Oui Non

Pour obtenir la liste complète des fonctionnalités disponibles dans les applications de bureau, consultez Fonctionnalités pour Windows développement d’applications.

Modernisation assistée par l’IA

L’agent de modernisation GitHub Copilot peut analyser votre solution desktop et générer des pull requests qui ajoutent des fonctionnalités Windows modernes ou mettent à niveau votre application vers une version plus récente de .NET. Pour plus d’informations, consultez la modernisation assistée par l’IA.

Voir aussi

Étapes suivantes