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 novo → Modo de compatibilidade . Nomeie algo (eu usei DpiMisbehavior
). Na lista à esquerda, localize DPIUnaware
e clique no >
botão para ativá-lo. Clique em OK depois de fazer isso.
Clique com o botão direito do mouse no banco de dados customizado novamente e escolha Criar Novo → Correçã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.
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.
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 .
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.
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 .
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.