Definir DPI de aplicativos individuais no Windows

41

É possível definir o DPI de aplicativos individuais no Windows?

Desejo aumentar o DPI de um ou mais aplicativos, mas não de todo o sistema.

Isso pode ser feito?

yngvedh
fonte
7
É incrível que eles ainda não tenham descoberto que essa é a única coisa que tornaria os modos de alto DPI totalmente toleráveis ​​antes de todos os desenvolvedores corrigirem todos os seus aplicativos.
RomanSt

Respostas:

18

É possível definir o DPI de aplicativos individuais no Windows?

Em uma palavra, não.

É um cenário global.

Peter Mortensen
fonte
22
muito lamentável
QueueHammer 08/04
27
ainda muito infelizes quase cinco anos depois
Simon
1
Desde que o Windows 10 foi lançado, o Windows 10 suporta isso?
Ovidiu Buligan
Existe uma técnica chamada virtualização de DPI, que pode ser ativada por aplicativo. Publiquei um link para o tutorial na minha resposta abaixo.
Andy Andy
Mais 3 anos e ainda não há mais mensagens. Pena que a MS nunca tenha percebido o quanto é importante.
Ben
8

Aqui está uma técnica que pode atender indiretamente a sua necessidade. No Windows 8.1 e no Windows 10, existe a possibilidade de ativar a escala de dpi para aplicativos antigos escritos antes da exibição de telas de alta resolução. O Windows fará com que um aplicativo acredite estar desenhando em uma tela de baixa dpi e cuidará do dimensionamento de toda a janela do aplicativo, para que o resultado seja grande o suficiente em uma tela de alta resolução. Isso será escalonamento de bitmap, nenhum vetor; portanto, espere um pouco de desfoque como consequência.

Você precisará habilitar uma chave no registro e fornecer um arquivo de manifesto XML para cada aplicativo que deseja dimensionar. Um bom tutorial sobre isso é Como corrigir o App Scaling Surface Pro 4 + outros monitores de alto DPI .

A seguir, a seção importante do manifesto externo postada na descrição do vídeo do YouTube:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>

E aqui vem o conteúdo do arquivo .reg que ativa os arquivos de manifesto externos:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
Andy
fonte
10
Você é capaz de resumir o conteúdo do link na sua resposta? Se o vídeo for retirado ou movido de outra forma, sua resposta se tornará inútil para futuros visitantes.
Mokubai
1
Como alguém que não pode assistir aos vídeos do YouTube no trabalho, eu recomendo o comentário de Mokubai.
domsson
Perguntado em superuser.com/questions/1281939/… - como eu implementaria isso. Obrigado.
Martin Cleaver
7

Sim! Pode ser feito. Você pode alterar a configuração de DPI de um aplicativo individual no Windows, mas apenas se for compatível. Você pode fazer isso da seguinte maneira.

Se você tiver alguns aplicativos específicos que suportam configurações de DPI alto, mas não o indica, é possível configurar esses detalhes manualmente. Para fazer isso, clique com o botão direito do mouse no atalho que inicia o aplicativo (no menu Iniciar) e escolha Propriedades. Na guia Compatibilidade, ative a opção denominada Desativar escala de exibição em configurações de alto DPI. Se você tem muitos aplicativos para configurar, isso fica cansativo rapidamente.

Nota: Isso funcionará bem com o Windows Vista e o Windows 7 não conhece o Windows XP.

bkdubey
fonte
1
Acabei de testar o "Desativar a escala de exibição em configurações de alta DPI" no Windows 7. Ele não faz com que o texto seja processado como "médio" quando a configuração global é "pequena" ou vice-versa. Em outras palavras, "Desativar a escala de exibição na configuração de DPI alto" não afeta o tamanho do texto da mesma maneira que CP-> Tamanho de texto personalizado de exibição (DPI).
Alx9r #
6
Isso desativa a escala de exibição; não desativa o DPI alto. A escala de exibição é um recurso de compatibilidade com versões anteriores que permite que aplicativos ruins sejam processados ​​a 96 DPI e redimensionados para qualquer DPI em que a tela estiver configurada (como um bitmap). Alguns aplicativos mais antigos manipulam o DPI alto corretamente, mas não o declaram; portanto, eles não devem cair no "bloco ruim de aplicativos" que fica embaçado na interface do usuário. Essa configuração desativa esse dimensionamento e informa ao aplicativo qual é o DPI real; ele não permite que o aplicativo seja executado a 96 DPI como se a escala de DPI não estivesse ativada.
Billy ONeal
Se eu tiver um monitor externo de 13 "do meu laptop principal e 19", isso significa que tudo o que vejo no monitor do meu laptop será muito grande?
Boris_yo
Não entendo completamente tudo isso, mas tentei isso em um aplicativo que estava me causando um sofrimento significativo (um aplicativo .NET 2.x mais antigo) e parecia não ter nenhum impacto: o o layout estava tão quebrado antes de alterar a configuração quanto depois. A única solução alternativa que encontrei é executá-la em um computador completamente diferente. Mesmo a área de trabalho remota no computador remoto da minha máquina de alto DPI interrompe o aplicativo.
Ken Smith
Eu uso um monitor 4K e 2560 ('2K') lado a lado no Windows 10 e eles têm a mesma dimensão (27 "). Portanto, a exibição em 4K deve ser dimensionada em 150% ou mais para ser geralmente utilizável. Usei isso configuração de compatibilidade para impedir que o putty.exe seja ingenuamente escalado e, portanto, fique embaçado em qualquer tela que não seja a principal.Na maior parte disso, o que é complicado é que preciso ajustar manualmente o tamanho da fonte do terminal quando o usar no 4K exibição como seria de outra forma demasiado pequena novamente, mas ter a capacidade de forçá-lo a exibir um programa legado sem qualquer escala é super útil.
Steven Lu
2

SOLUÇÃO PARA WINDOWS 10 em PCs de alta resolução.

Clique com o botão direito do mouse no ícone / link do software> propriedades> guia "compatibilidade"> altere a configuração de alta DPI> marque a caixa de seleção "substituir o comportamento de alta escala de DPI"> selecione "sistema" na janela abaixo (o padrão é "aplicativo")

diverta-se
fonte