
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:
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 aufrufenSystemParametersInfo
mit einem entsprechend konfiguriertenANIMATIONINFO
Struktur, 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. 0x49
ist der Code, der angibt, SystemParametersInfo
dass die Animationseinstellung festgelegt werden soll, und 3
der 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 .ps1
Datei, 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 $true
stattdessen an das Skript weiter.
Wenn der Funktionsaufruf erfolgreich ist, wird dies True
auf der Konsole angezeigt, unabhängig davon, ob Sie Animationen aktiviert oder deaktiviert haben.