¿Puedo desactivar las animaciones de Windows 10 con un archivo por lotes?

¿Puedo desactivar las animaciones de Windows 10 con un archivo por lotes?

Me gustaría deshabilitar las animaciones en Windows 10, específicamente las animaciones para maximizar/minimizar ventanas. No parece que cada clave tenga su propia configuración de registro y no la veo en esta lista de valores:https://technet.microsoft.com/en-us/library/cc957204.aspx

¿Es esto posible o es algo que tendría que hacer manualmente?

Sería bueno si pudiera deshabilitar las animaciones en general, pero sería feliz si pudiera escribir un script que deshabilitara solo las animaciones de maximizar/minimizar:

ingrese la descripción de la imagen aquí

Correresta soluciónNo funciona:

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

Esta opción requiere cerrar sesión/iniciar sesión o reiniciar, a diferencia del método manual que surte efecto inmediatamente (preferido).

Respuesta1

¡Puedes usar PowerShell! Necesitamos invocarSystemParametersInfocon una configuración adecuadaANIMATIONINFOestructura, ya que esa función API de Windows envía el mensaje de ventana que hace que el cambio entre en vigor inmediatamente. Escribí este guión:

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)

La parte de C# define la estructura y función que debemos llamar. Luego, el script crea la estructura de configuración de la animación y finalmente llama a la función. 0x49es el código que indica SystemParametersInfoestablecer la configuración de animación y 3en el último parámetro especifica que queremos que se actualice el perfil del usuario y se envíe la notificación de cambio de configuración.

Para utilizar el script, guárdelo como un .ps1archivo, por ejemplo windowanim.ps1. Siga las instrucciones en la sección Habilitación de scripts dela wiki de etiquetas de PowerShellpara permitir la ejecución del script, puede ejecutar este comando desde un archivo por lotes para deshabilitar las animaciones de la ventana:

powershell -c .\windowanim.ps1 $false

Si desea habilitar las animaciones, proporciónelas $trueal script.

Si la invocación de la función es exitosa, verás las Trueanimaciones impresas en la consola, sin importar si habilitaste o deshabilitaste.

información relacionada