Kann ich Windows 10-Animationen mit einer Batchdatei deaktivieren?

1052
InterLinked

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

Ist das möglich oder müsste ich dies manuell tun?

Es wäre schön, wenn ich Animationen generell deaktivieren könnte, aber ich wäre froh, wenn ich nur ein Skript schreiben könnte, das nur die Animationen zum Maximieren / Minimieren deaktivieren würde:

enter image description here

Das Ausführen dieser Lösung funktioniert 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 wirksam wird (bevorzugt).

2
Dann müssen Sie die Registry "UsePreferenceMask" manuell berechnen und den Wert in den Befehl "reg add" eingeben. Für die Fensteranimation ist die Bitstelle 1 und der Wert 0 deaktiviert sie. Biswapriyo vor 7 Jahren 0

1 Antwort auf die Frage

5
Ben N

Sie können PowerShell verwenden! Wir müssen SystemParametersInfomit einer entsprechend konfigurierten ANIMATIONINFOStruktur aufrufen, da diese Windows-API-Funktion die Fenstermeldung 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 SystemParametersInfozum Festlegen der Animationseinstellung weist, und der 3letzte Parameter gibt an, dass sowohl das Benutzerprofil als auch die Benachrichtigung über die Änderung der Einstellung aktualisiert werden sollen.

Um das Skript zu verwenden, speichern Sie es als .ps1Datei, z windowanim.ps1. Befolgen Sie die Anweisungen im Abschnitt Aktivieren von Skripts des PowerShell-Tag-Wikis, um die Skriptausführung zu ermöglichen. Anschließend können Sie diesen Befehl über eine Batchdatei ausführen, um Fensteranimationen zu deaktivieren:

powershell -c .\windowanim.ps1 $false 

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

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

Funktioniert das alles ohne Administratorrechte? InterLinked vor 7 Jahren 0
@InterLinked Ja, das glaube ich. Ben N vor 7 Jahren 0
Das ist großartig - wirkt wie ein Zauber und sehr schnell! Ich bin selbst ein Fan von PowerShell, stütze mich bei solchen Dingen jedoch normalerweise auf Batch-Dateien. Ich denke, es gibt einige Dinge, die Batch nicht machen kann! InterLinked vor 7 Jahren 0