Usar recursos de Windows modernos em aplicativos da área de trabalho

Você não precisa reescrever seu aplicativo WPF, Windows Forms ou Win32 para aproveitar os recursos de Windows modernos. O SDK do Aplicativo Windows e a plataforma de Windows mais ampla oferecem funcionalidades modulares que você pode adotar incrementalmente, em seu próprio ritmo.

Note

Este artigo aborda a adição de recursos de Windows modernos ao aplicativo da área de trabalho existente. Se você quiser modernizar sua cadeia de ferramentas .NET ou compilador C++, consulte GitHub Copilot modernização para .NET ou o guia de portabilidade e atualização do Microsoft C++.

Migrar sua estrutura de interface do usuário?

Se sua meta for modernizar totalmente a camada de interface do usuário do aplicativo, o caminho recomendado é migrar para o WinUI 3 – a estrutura de interface do usuário nativa para aplicativos da área de trabalho Windows. Confira Criar seu primeiro aplicativo WinUI 3 para começar.

Se você quiser adicionar Windows recursos à sua estrutura de aplicativo existente (WPF, WinForms ou C++ Win32) sem alterar a camada da interface do usuário, continue a leitura.

Escolha sua abordagem

As três abordagens de modernização são independentes. Você pode usar um, dois ou todos os três no mesmo aplicativo.

Abordagem O que isso te oferece Requer empacotamento?
WinRT APIs Acesso direto às APIs da plataforma Windows (notificações, Bluetooth, contrato de compartilhamento, sensores e muito mais) de qualquer aplicativo de área de trabalho .NET ou C++ Não, para a maioria das APIs
SDK do Aplicativo do Windows Um pacote NuGet que traz recursos de desenvolvimento de Windows modernos (janelas, renderização de texto, recursos e muito mais) para aplicativos existentes Não, para a maioria dos recursos
Empacotamento MSIX Um instalador moderno com desinstalação limpa, atualizações automáticas e identidade do pacote; pode ser adicionado sem alterar o código-fonte do aplicativo N/A – empacotamento é a abordagem

Tip

Comece com APIs WinRT se quiser usar uma API específica da plataforma Windows. Adicione o SDK do Aplicativo Windows quando precisar de seus recursos (DWriteCore, MRT Core, janelas). Adicione o empacotamento MSIX quando precisar da identidade do pacote ou quiser modernizar o instalador.

WinRT APIs

as APIs do Windows Runtime (WinRT) expõem Windows recursos da plataforma, como notificações de aplicativo, contrato de compartilhamento, Bluetooth e muito mais. Você pode chamar essas APIs diretamente de aplicativos WPF, Windows Forms e C++ Win32.

APIs de Runtime do Windows em aplicativos da área de trabalho.

SDK de Aplicativos Windows

O SDK do Aplicativo Windows fornece recursos de desenvolvimento de Windows modernos como um pacote NuGet que você adiciona ao seu projeto existente. Você não precisa alterar sua estrutura de interface do usuário.

Empacotamento MSIX e identidade do pacote

O empacotamento MSIX substitui o instalador existente e fornece a identidade do pacote do aplicativo. Alguns recursos de Windows – incluindo tarefas em segundo plano, tarefas de inicialização, associações de arquivos e Windows AI Foundry – exigem a identidade do pacote em runtime. Se você quiser manter o instalador existente, ainda poderá atribuir uma identidade de pacote sem um empacotamento MSIX completo — uma abordagem às vezes chamada empacotamento com localização externa ou pacote esparso.

Pontos de partida específicos para cada framework

Sua estrutura Ponto de partida recomendado
WPF Usar o SDK de Aplicativos do Windows em um projeto existente
WinForms Usar o SDK de Aplicativos do Windows em um projeto existente
C++ Win32 Usar o SDK de Aplicativos do Windows em um projeto existente
C++/WinRT APIs do WinRT para aplicativos da área de trabalho

Catálogo de recursos

A tabela a seguir lista os recursos comuns de modernização e se eles exigem o SDK do Aplicativo Windows ou a identidade do pacote.

IA

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Windows AI Foundry No Yes

Interface do usuário e texto

Característica SDK do Aplicativo Windows necessário? Identidade do pacote necessária?
Componentes do WinUI 3 em um aplicativo da área de trabalho Yes No
Renderizar texto com o DWriteCore Yes No
Aplicar Mica ou Acrílico a aplicativos Win32 No No
Aplicar bordas arredondadas No No
Aplicar temas Windows No No

Ciclo de vida do aplicativo

Característica SDK do Aplicativo Windows necessário? É necessária a identidade do pacote?
Tarefas em segundo plano (SDK do Aplicativo Windows) Yes Yes
Tarefas de inicialização No Yes

Integração do Windows

Característica SDK do Aplicativo Windows necessário? Identidade do pacote necessária?
Integração de planilha de compartilhamento No No
API de pessoas entre dispositivos No No
Associações de arquivos No Yes
Widgets Windows No Yes

Segurança

Característica SDK do Aplicativo Windows necessário? Identidade do pacote obrigatória?
Cofre de credenciais No No
OAuth 2.0 No No
Biometria por impressão digital No No
Cartões inteligentes No No
Criptografia No No

Resources

Característica SDK do Aplicativo Windows necessário? Identidade do pacote necessária?
Gerenciamento de recursos do MRT Core Yes No

Para obter a lista completa de recursos disponíveis em aplicativos da área de trabalho, consulte Recursos para desenvolvimento de aplicativos do Windows.

Próximas Etapas 

APIs de Runtime do Windows em aplicativos da área de trabalho.