Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
- Visão geral do empacotamento
- Recursos que exigem a identidade do pacote
- Conceder identidade a um aplicativo não empacotado
- Integre seu aplicativo de desktop com o Windows usando extensões de empacotamento
- Empacotar seu aplicativo usando projeto único MSIX
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
Windows developer