Posso desativar as animações do Windows 10 com um arquivo em lote?

Posso desativar as animações do Windows 10 com um arquivo em lote?

Gostaria de desabilitar animações no Windows 10, especificamente animações para maximizar/minimizar janelas. Não parece que cada chave tenha sua própria configuração de registro e não a vejo nesta lista de valores:https://technet.microsoft.com/en-us/library/cc957204.aspx

Isso é possível ou é algo que eu teria que fazer manualmente?

Seria bom se eu pudesse desativar as animações em geral, mas ficaria feliz se pudesse simplesmente escrever um script que desabilitasse apenas as animações de maximizar/minimizar:

insira a descrição da imagem aqui

Correndoesta soluçãonão funciona:

REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics" /v MinAnimate /t REG_SZ /d 0 /f >nul 2>&1

Esta opção requer logout/login ou reinicialização, ao contrário do método manual que entra em vigor imediatamente (preferencial).

Responder1

Você pode usar o PowerShell! Precisamos invocarSystemParametersInfocom um configurado adequadamenteANIMATIONINFOestrutura, já que essa função da API do Windows envia a mensagem da janela que faz com que a alteração entre em vigor imediatamente. Eu escrevi este script:

Add-Type -TypeDefinition @"
    using System;
    using System.Runtime.InteropServices;
    [StructLayout(LayoutKind.Sequential)] public struct ANIMATIONINFO {
        public uint cbSize;
        public bool iMinAnimate;
    }
    public class PInvoke { 
        [DllImport("user32.dll")] public static extern bool SystemParametersInfoW(uint uiAction, uint uiParam, ref ANIMATIONINFO pvParam, uint fWinIni);
    }
"@
$animInfo = New-Object ANIMATIONINFO
$animInfo.cbSize = 8
$animInfo.iMinAnimate = $args[0]
[PInvoke]::SystemParametersInfoW(0x49, 0, [ref]$animInfo, 3)

A parte C# define a estrutura e a função que precisamos chamar. Em seguida, o script cria a estrutura de configuração da animação e, por fim, chama a função. 0x49é o código que informa SystemParametersInfopara definir a configuração da animação e no 3último parâmetro especifica que queremos que o perfil do usuário seja atualizado e que a notificação de alteração da configuração seja enviada.

Para usar o script, salve-o como um .ps1arquivo, por exemplo windowanim.ps1. Siga as instruções na seção Habilitando Scripts doo wiki de tags do PowerShellpara permitir a execução do script, você pode executar este comando a partir de um arquivo em lote para desativar as animações da janela:

powershell -c .\windowanim.ps1 $false

Se você deseja ativar as animações, forneça $trueo script.

Se a invocação da função for bem-sucedida, você verá Trueimpresso no console, independentemente de ter ativado ou desativado as animações.

informação relacionada