Kann ich Windows 10-Animationen mit einer Batchdatei deaktivieren?

Kann ich Windows 10-Animationen mit einer Batchdatei deaktivieren?

Ich möchte Animationen in Windows 10 deaktivieren, insbesondere Animationen zum Maximieren/Minimieren von Fenstern. Es sieht nicht so aus, als ob jeder Schlüssel seine eigene Registrierungseinstellung hätte, und ich sehe sie nicht in dieser Werteliste:https://technet.microsoft.com/en-us/library/cc957204.aspx

Ist das möglich oder muss ich das manuell machen?

Es wäre schön, wenn ich Animationen generell deaktivieren könnte, aber ich wäre auch schon froh, wenn ich ein Skript schreiben könnte, das nur die Maximierungs-/Minimierungsanimationen deaktiviert:

Bildbeschreibung hier eingeben

Läuftdiese Lösungfunktioniert nicht:

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

Diese Option erfordert eine Abmeldung/Anmeldung oder einen Neustart, im Gegensatz zur manuellen Methode, die sofort wirkt (bevorzugt).

Antwort1

Sie können PowerShell verwenden! Wir müssen aufrufenSystemParametersInfomit einem entsprechend konfiguriertenANIMATIONINFOStruktur, da diese Windows-API-Funktion die Fensternachricht sendet, die bewirkt, dass die Änderung sofort wirksam wird. Ich habe dieses Skript geschrieben:

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)

Der C#-Teil definiert die Struktur und Funktion, die wir aufrufen müssen. Dann erstellt das Skript die Animationskonfigurationsstruktur und ruft schließlich die Funktion auf. 0x49ist der Code, der angibt, SystemParametersInfodass die Animationseinstellung festgelegt werden soll, und 3der letzte Parameter gibt an, dass sowohl das Benutzerprofil aktualisiert als auch die Benachrichtigung über die Einstellungsänderung gesendet werden soll.

Um das Skript zu verwenden, speichern Sie es als .ps1Datei, z. B. windowanim.ps1. Folgen Sie den Anweisungen im Abschnitt „Skripts aktivieren“ vondas PowerShell-Tag-Wikium die Skriptausführung zuzulassen, können Sie diesen Befehl aus einer Batchdatei ausführen, um Fensteranimationen zu deaktivieren:

powershell -c .\windowanim.ps1 $false

Wenn Sie die Animationen aktivieren möchten, geben Sie sie $truestattdessen an das Skript weiter.

Wenn der Funktionsaufruf erfolgreich ist, wird dies Trueauf der Konsole angezeigt, unabhängig davon, ob Sie Animationen aktiviert oder deaktiviert haben.

verwandte Informationen