APRENDIZADO & COGNIÇÃO

Migrei um app de PowerShell + WPF para C# WinUI 3 nativo: o que aprendi

Tenho dois monitores na mesa e uma TV no HDMI do outro lado da sala. Pra jogar no sofá eu…

Tenho dois monitores na mesa e uma TV no HDMI do outro lado da sala. Pra jogar no sofá eu precisava trocar a tela, mudar o áudio, abrir o Big Picture e depois desfazer tudo. Então fiz o Console Mode, que faz isso em um clique e restaura a mesa quando você sai do Big Picture ou do Playnite.

Versão 1: PowerShell 5.1 + WPF

Foi ótima pra validar a ideia rápido, mas tinha limites: distribuir script é chato, antivírus desconfia, e a interface ficava presa ao que dava pra fazer em XAML via PowerShell.

Versão atual: C# / WinUI 3 (Windows App SDK)

  • App unpackaged e self-contained, sem MSIX. Sai em instalador por usuário (Inno Setup, sem admin) e em exe portátil de arquivo único
  • Atualização pelo GitHub Releases: basta um push de tag que o workflow gera os dois pacotes e o app avisa da versão nova
  • Localização em JSON embutido (pt-BR e en-US), trocável sem reiniciar
  • Navegação por controle e uma tela de “Está vendo esta tela?” que desfaz tudo se ninguém responder, pra ninguém ficar sem imagem
  • Monitores e áudio usam ferramentas da NirSoft. HDR, VRR, resolução e Hz são opcionais

Uma pegadinha: WinUI 3 só compila no Windows (net8.0-windows), então CI e release rodam em runner Windows.

Próximos passos

Widget na Game Bar e acionamento por voz/assistente (Alexa, MCP).

É open source (MIT). Issues marcadas como good first issue estão abertas, pra quem quiser contribuir: https://github.com/lippdev/consolemode

Pontos-chave

  • Tenho dois monitores na mesa e uma TV no HDMI do outro lado da sala.
  • Pra jogar no sofá eu precisava trocar a tela, mudar o áudio, abrir o Big Picture e depois desfazer tudo.
  • Então fiz o Console Mode, que faz isso em um clique e restaura a mesa quando você sai do Big Picture ou do Playnite.Versão 1: PowerShell 5.1 + WPFFoi ótima pra validar a ideia rápido, mas tinha limites: distribuir script…
  • Sai em instalador por usuário (Inno Setup, sem admin) e em exe portátil de arquivo únicoAtualização pelo GitHub Releases: basta um push de tag que o workflow gera os dois pacotes e o app avisa da versão novaLocalização em JSON…

Síntese

Em síntese, “Migrei um app de PowerShell + WPF para C# WinUI 3 nativo:…” reúne os seguintes desdobramentos: HDR, VRR, resolução e Hz são opcionaisUma pegadinha: WinUI 3 só compila no Windows (net8.0-windows), então CI e release rodam em runner Windows.Próximos passosWidget na Game Bar e acionamento por voz/assistente (Alexa, MCP).É open source (MIT). Issues marcadas como good first issue estão abertas, pra quem quiser contribuir: https://github.com/lippdev/consolemode

Perguntas frequentes

Respostas institucionais sobre esta cobertura, fontes e limites editoriais.

Sobre o que trata “Migrei um app de PowerShell + WPF para C# WinUI…”?
Tenho dois monitores na mesa e uma TV no HDMI do outro lado da sala. Pra jogar no sofá eu precisava trocar a tela, mudar o áudio, abrir o Big Picture e depois desfazer tudo. Então…
O que a matéria explica sobre “Versão 1: PowerShell 5.1 + WPF”?
Foi ótima pra validar a ideia rápido, mas tinha limites: distribuir script é chato, antivírus desconfia, e a interface ficava presa ao que dava pra fazer em XAML via PowerShell.
O que a matéria explica sobre “Versão atual: C# / WinUI 3 (Windows App SDK)”?
App unpackaged e self-contained, sem MSIX. Sai em instalador por usuário (Inno Setup, sem admin) e em exe portátil de arquivo únicoAtualização pelo GitHub Releases: basta um push de tag que o workflow gera os dois pacotes e o app avisa da…
O que a matéria explica sobre “Próximos passos”?
Widget na Game Bar e acionamento por voz/assistente (Alexa, MCP).É open source (MIT). Issues marcadas como good first issue estão abertas, pra quem quiser contribuir: https://github.com/lippdev/consolemode
O que a matéria explica sobre “Pontos-chave”?
Tenho dois monitores na mesa e uma TV no HDMI do outro lado da sala.Pra jogar no sofá eu precisava trocar a tela, mudar o áudio, abrir o Big Picture e depois desfazer tudo.Então fiz o Console Mode, que faz isso em…
Quem edita o conteúdo do Estrato Mente?
A cobertura é produzida e revisada pela equipe editorial do Estrato Mente, com editor-chefe responsável pela linha editorial. Conheça a redação em https://mente.estrato.cc/equipe/.
Quais fontes o Estrato prioriza?
Priorizamos fontes primárias (órgãos oficiais, balanços, estudos revisados, documentos públicos) e cruzamos informações antes da publicação, conforme a política editorial.
Como solicitar correção de uma matéria?
Envie o pedido pela página de Correções (https://mente.estrato.cc/correcoes/) ou Contato (https://mente.estrato.cc/contato/). Erros materiais são corrigidos com registro da atualização.
WhatsApp X LinkedIn
Compartilhar: LinkedIn
Bruno Leite

Bruno Leite

Bruno Leite integra a equipe editorial do Estrato Mente, vertical da rede Estrato, na função de Repórter de Aprendizado. O escopo permanente de cobertura inclui estudo, memória e foco, com atenção ao leitor brasileiro que busca contexto factual, datas oficiais e implicações práticas. Na produção diária, prioriza fontes primárias (órgãos públicos, balanços, papers e documentos oficiais), cruza pelo menos duas referências independentes quando o tema é contestado e evita manchetes que prometam certeza onde há incerteza. Critérios de qualidade: lead com o fato principal, atribuição clara de autoria da equipe Estrato, atualização com selo quando há mudança material e linguagem acessível sem simplificar demais o risco ou o contexto. Trabalha sob revisão da mesa editorial e do editor-chefe do portal. Matérias YMYL recebem segunda leitura antes da publicação e podem ser atualizadas quando surgem novos dados oficiais. Limites: este perfil descreve o papel editorial na marca Estrato. O conteúdo publicado é informativo e não constitui aconselhamento médico, financeiro, jurídico ou profissional personalizado. Transparência ao leitor: metodologia em /metodologia/, ética em /etica-editorial/, correções em /correcoes/, equipe em /equipe/ e canal em /contato/ ([email protected]). Na página-mãe da rede, a bio ampliada e o arquivo de matérias ficam em estrato.cc/blog/, com link para o arquivo do autor em cada portal.

Deixe um comentário