Turn off animation effects

This commit is contained in:
Matt Cooley 2022-07-06 10:28:31 -07:00
commit 0629062ff8
2 changed files with 29 additions and 1 deletions

View file

@ -18,7 +18,8 @@ jobs:
variables:
skipComponentGovernanceDetection: true
steps:
- checkout: none
- checkout: self
fetchDepth: 1
- task: ScreenResolutionUtility@1
displayName: Set resolution to 1920x1080
@ -27,6 +28,11 @@ jobs:
width: 1920
height: 1080
- task: PowerShell@2
displayName: Turn off animation effects
inputs:
filePath: $(Build.SourcesDirectory)\build\scripts\TurnOffAnimationEffects.ps1
- task: DownloadBuildArtifacts@0
displayName: Download MsixBundle and CalculatorUITests
inputs:

View file

@ -0,0 +1,22 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
<#
.SYNOPSIS
Disables animations on the system. Equivalent to turning off the "Animation effects" setting in the Windows Settings app.
#>
Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]
Function WaitForAsyncAction($WinRtTask, $ResultType) {
$asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
$task = $asTask.Invoke($null, @($WinRtTask))
$task.GetAwaiter().GetResult()
}
[Windows.UI.ViewManagement.Core.UISettingsController,Windows.UI.ViewManagement.Core,ContentType=WindowsRuntime] | Out-Null
$controller = WaitForAsyncAction ([Windows.UI.ViewManagement.Core.UISettingsController]::RequestDefaultAsync()) ([Windows.UI.ViewManagement.Core.UISettingsController])
$controller.SetAnimationsEnabled($false)