Tela de alta DPI e Windows: como fazer com que os programas se comportem como nas telas de baixa resolução?

11

Estou usando o Windows 10 em uma tela de laptop de alta resolução. Alguns programas suportam a tela de alta resolução e parecem nítidos. Alguns não parecem e ficam embaçados, mas ainda aparecem no tamanho correto. Estou feliz com os dois.

Mas existem os programas que têm apenas um suporte incompleto para uma configuração de DPI alta: eles parecem pequenos ou alguns elementos da janela são pequenos enquanto outros são de tamanho normal. Isso torna alguns desses programas completamente inutilizáveis, outros muito desagradáveis ​​de usar.

Existe alguma maneira de pedir ao Windows para enganar esses programas, pensando que eles estão sendo executados em uma tela de baixa resolução, e depois aumentá-los proporcionalmente ? Eu preferiria que todos os elementos da janela fossem renderizados no tamanho correto, mesmo que isso signifique que eles ficarão embaçados.

Para evitar confusão: Estou ciente da configuração de compatibilidade "Desativar o dimensionamento da exibição em configurações de alta DPI" nas propriedades do aplicativo, mas não é disso que preciso. Estou pedindo o oposto disso: ative o upscaling embaçado e faça com que o aplicativo acredite que está sendo executado em uma tela de baixa resolução.

Szabolcs
fonte

Respostas:

11

Vamos começar as grandes armas.

Baixe e instale o Application Compatibility Toolkit . Isso inclui um programa chamado Compatibility Administrator, que vem em duas versões, uma de 32 bits e outra de 64 bits. Execute aquele com a mesma testemunha que o aplicativo que você deseja bater.

Antecedentes : muitos aplicativos afirmam que suportam um determinado recurso, mas atrapalham a implementação. A Microsoft lida com isso o tempo todo e criou uma infraestrutura de compatibilidade para reutilizar correções para problemas comuns. Essas correções são implementadas como shims, interceptando chamadas para a API do Windows. Usaremos um calço que efetivamente cancela a declaração de reconhecimento de DPI do aplicativo. Outros calços fazem coisas mais sofisticadas / configuráveis ​​(consulte CorrectFilePaths), enquanto outros apenas mentem para o aplicativo sobre seu ambiente (como ForceAdminAccess).

Na parte inferior do painel esquerdo do Administrador de Compatibilidade, você verá uma nova entrada em Bancos de Dados Personalizados. Clique com o botão direito do mouse e escolha Criar novoModo de compatibilidade . Nomeie algo (eu usei DpiMisbehavior). Na lista à esquerda, localize DPIUnawaree clique no >botão para ativá-lo. Clique em OK depois de fazer isso.

criando o modo compat

Clique com o botão direito do mouse no banco de dados customizado novamente e escolha Criar NovoCorreção de Aplicativo . Preencha o nome e o fornecedor do programa (isso não importa muito) e selecione o EXE principal do aplicativo. (É aqui que a importância do administrador de compatibilidade é importante.) Pressione Avançar quando tiver feito isso.

criando a correção

Nos modos de compatibilidade adicionais , role para baixo e encontre o modo de compatibilidade que você criou há pouco. Marque a caixa dele. Faça um teste, se quiser, e clique em Avançar.

aplicando a correção

Agora, estritamente falando, você não precisou criar um modo de compatibilidade porque pode aplicar correções específicas aqui. Eu fiz isso caso você precise adicionar correções adicionais a esse modo posteriormente, para que sejam aplicadas a todos os aplicativos que você colocar nesse modo. Então você pode simplesmente clicar em Next sem fazer nada na etapa Compatibility Fixes .

não são necessárias correções extras

As informações correspondentes são usadas para identificar qual aplicativo um programa (EXE) representa. (Seria bastante lamentável se as correções fossem aplicadas a programas que não precisam delas.) Todas as entradas marcadas devem corresponder a um programa para obter a correção. O Administrador de Compatibilidade retirou esses valores de critérios do EXE especificado anteriormente. Os padrões estão corretos, ou você pode alterá-los se sentir muito a respeito dessas coisas. Clique em Concluir quando estiver satisfeito.

nenhuma ação é necessária em informações correspondentes

Repita o material de criação de Correção de aplicativo para cada programa que precisar. Em seguida, pressione Salvar na barra de ferramentas. Dê o nome que quiser; Eu usei DPI Repair. Em seguida, salve-o onde quiser no sistema de arquivos. Você pode usar o item Abrir da barra de ferramentas e selecionar esse arquivo se precisar modificá-lo no futuro.

Por fim, clique com o botão direito do mouse no banco de dados personalizado recém-nomeado e escolha Instalar .

sucesso

Oh sim.

Se, no futuro, você precisar modificar o banco de dados de compatibilidade, basta abri-lo, fazer as alterações apropriadas, clicar em Salvar e reinstalar; vai passar por cima da versão antiga. De fato, você pode copiar esse banco de dados para outro computador e usar o Administrador de Compatibilidade para instalá-lo lá sem precisar recriá-lo.

Entretenimento opcional : expanda a entrada Aplicativos em Banco de Dados do Sistema para ver uma lista de programas que a Microsoft teve que corrigir com essa infraestrutura. Clicar na entrada de um programa mostra quais correções e modos de compatibilidade foram aplicados. Em Correções de compatibilidade , você pode ver uma lista completa das correções que seu computador pode usar.

Ben N
fonte
No Windows 10, não consigo salvar o banco de dados se eu criar um Modo de Compatibilidade personalizado, mas tudo funcionará bem se eu fizer apenas Correções de Aplicativos.
Gwen