
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:
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 invocarSystemParametersInfo
com um configurado adequadamenteANIMATIONINFO
estrutura, 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 SystemParametersInfo
para 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 .ps1
arquivo, 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 $true
o script.
Se a invocação da função for bem-sucedida, você verá True
impresso no console, independentemente de ter ativado ou desativado as animações.