Windows 10 Visual Effects


Recommended Posts

Hello,

 

Does anyone have a method of turning off the visual effects for Windows 10 via powershell?

 

I looked for a group policy, but it seems there isn't one! I was very surprised. I had a way to turn them all off in WIndows 7, and people swore their machines were faster, but that no longer functions. I can change the registry keys to where the visual effects window shows them all unchecked but the command, "rundll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True", does not work for getting it to take effect.

 

Does anyone have any suggestions? Would a mandatory profile stop this setting from getting changed with the method above?

 

Thank you.

Link to comment
Share on other sites

Thought I would show what I've tried so far.

 

 

I don't remember where online I got this VB from, but this worked in the past with Windows 7 to disable the visual effects:

 

' =============== VISUAL EFFECTS =============== 
A = "0" ' Animate controls and elements inside windows 
B = "0" ' Fade or slide menu's into view 
C = "0" ' Fade or slide ToolTips into view 
D = "0" ' Fade out menu items after clicking 
E = "0" ' Show shadows under mouse pointer 
F = "0" ' Show shadows under windows 
G = "0" ' Slide open combo boxes 
H = "0" ' Smooth-scroll list boxes 
I = "1" ' Use visual styles on windows and buttons 
J = "1" ' Show window contents while dragging 
K = "1" ' Smooth edges of screen fonts 
L = "0" ' Animate windows when minimizing and maximizing 
M = "1" ' Show translucent selection rectangle 
N = "1" ' Use drop shadows for icon labels on the desktop 
O = "0" ' Animations in the taskbar and Start Menu 
P = "0" ' Show thumbnails instead of icons 
Q = "1" ' Enable desktop composition 
R = "0" ' Enable transparent glass 
S = "0" ' Enable Aero Peek 
T = "0" ' Save taskbar thumbnail previews 
' ============================================== 
 
UPM_a = Array(_ 
Array("1","0","0","1", H , G , B ,"0"),_ 
Array("0","0", E ,"1", C , D ,"1","0"),_ 
Array("0","0","0","0","0", F , I ,"1"),_ 
Array("1","0","0","0","0","0","0","0"),_ 
Array("0","0","0","1","0","0", A ,"0"),_ 
Array("0","0","0","0","0","0","0","0"),_ 
Array("0","0","0","0","0","0","0","0"),_ 
Array("0","0","0","0","0","0","0","0")_ 
) 
UPM_b = Array(Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty) 
Dim i 
For i = 0 To UBound(UPM_a) 
  UPM_b(i) = CStr(BinToDec(UPM_a(i))) 
Next 
 
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 
objReg.SetBinaryValue &H80000001, "Control Panel\Desktop", "UserPreferencesMask", UPM_b 
objReg.SetStringValue &H80000001, "Control Panel\Desktop", "DragFullWindows", IIf(J = "1", "1", "0") 
objReg.SetStringValue &H80000001, "Control Panel\Desktop", "FontSmoothing", IIf(K = "1", "2", "0") 
objReg.SetStringValue &H80000001, "Control Panel\Desktop\WindowMetrics", "MinAnimate", IIf(L = "1", "1", "0") 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "ListviewAlphaSelect", IIf(M = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "ListviewShadow", IIf(N = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarAnimations", IIf(O = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "IconsOnly", IIf(P = "1", 0, 1) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\DWM", "Composition", IIf(Q = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\DWM", "CompositionPolicy", IIf(Q = "1", 2, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\DWM", "ColorizationOpaqueBlend", IIf(R = "1", 0, 1) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\DWM", "EnableAeroPeek", IIf(S = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\DWM", "AlwaysHibernateThumbnails", IIf(T = "1", 1, 0) 
objReg.SetDWORDValue &H80000001, "Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects", "VisualFXSetting", 3 
 
Function BinToDec(arrBin()) 
  Dim r, i 
  r = 0 
  For i = UBound(arrBin) To 0 Step -1 
    If arrBin(i) = "1" Then r = r + (2 ^ (UBound(arrBin) - i)) 
  Next 
  BinToDec = r 
End Function 
 
Function IIf(Expression, TruePart, FalsePart) 
  If Expression = True Then 
    If IsObject(TruePart) Then Set IIf = TruePart Else IIf = TruePart 
  Else 
    If IsObject(FalsePart) Then Set IIf = FalsePart Else IIf = FalsePart 
  End If 
End Function

 

Then I thought I would change from that to something that wouldn't be VB. Tried this in powershell, which seemed to work fine in 7:

 

start-process powershell -verb runas -ArgumentList "

reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' /f /v VisualFXSetting /t REG_DWORD /d 00000003
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\AnimateMinMax' /f /v DefaultApplied /t REG_DWORD /d 0
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ComboBoxAnimation' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ControlAnimations' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\CursorShadow' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DragFullWindows' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DropShadow' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMAeroPeekEnabled' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMEnabled' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMSaveThumbnailEnabled' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\FontSmoothing' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListBoxSmoothScrolling' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewAlphaSelect' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewShadow' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\MenuAnimation' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\SelectionFade' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TaskbarAnimations' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\Themes' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ThumbnailsOrIcon' /f /v DefaultApplied /t REG_DWORD /d 00000000
reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TooltipAnimation' /f /v DefaultApplied /t REG_DWORD /d 00000000


reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced' /f /v 'TaskbarAnimations' /t REG_DWORD /d '0'

reg add 'HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics' /f /v 'MinAnimate' /t REG_SZ /d '0'

reg add 'HKEY_CURRENT_USER\Control Panel\Desktop' /f /v 'UserPreferencesMask' /t REG_BINARY /d '9012038010000000'

reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM' /f /v 'EnableAeroPeek' /t REG_DWORD /d 0

reg add 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM' /f /v 'AlwaysHibernateThumbnails' /t REG_DWORD /d 0


" -windowstyle hidden


rundll32.exe user32.dll,UpdatePerUserSystemParameters

 

Once I found that that wouldn't work in 10, I thought I needed to redo it to be all powershell commands:

 

start-process powershell -verb runas -ArgumentList "

Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name VisualFXSetting -Value 00000003
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name AnimateMinMax -Value 0
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ComboBoxAnimation -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ControlAnimations -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name CursorShadow -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name DragFullWindows -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name DropShadow -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name DWMAeroPeekEnabled -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name DWMEnabled -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name DWMSaveThumbnailEnabled -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name FontSmoothing -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ListBoxSmoothScrolling -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ListviewAlphaSelect -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ListviewShadow -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name MenuAnimation -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name SelectionFade -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name TaskbarAnimations -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name Themes -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name ThumbnailsOrIcon -Value 00000000
Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects -Name TooltipAnimation -Value 00000000


Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarAnimations -Value 00000000

Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop\WindowMetrics' -Name MinAnimate -Value 00000000

Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\DWM -Name EnableAeroPeek -Value 0

Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\DWM -Name AlwaysHibernateThumbnails -Value 0


" -windowstyle hidden



rundll32.exe user32.dll,UpdatePerUserSystemParameters

 

This didn't work either. So then I started to change different registry keys as it appeared that fewer might get the job done. It didn't though:

 

New-Item -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer' -Name VisualEffects
New-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name VisualFXSetting -PropertyType DWORD -Value 2 -Force

#New-Item -Path 'HKCU:\Control Panel\Desktop' -Name UserPreferencesMask -PropertyType Binary
New-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name UserPreferencesMask -PropertyType Binary -Value ([Byte[]] (0x9E, 0x12, 0x03, 0x80, 0x10, 0x00, 0x00, 0x00)) -Force

c:\Windows\SysWOW64\rundll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True


"$env:SystemRoot\SysWOW64\rundll32.exe $env:SystemRoot\SysWOW64\USER32.dll,UpdatePerUserSystemParameters,1,True"
rundll32.exe user32.dll, UpdatePerUserSystemParameters,1,True  

 

The above will set all the checkboxes to unchecked on the 'System > Advanced System Settings > Performance Settings > Performance Options' window. But they never take effect as though the "rundll32.exe user32.dll, UpdatePerUserSystemParameters,1,True " line doesn't work anymore.

 

I am experimenting with a mandatory profile in an attempt to speed up login times. Does anyone know if that would stop me from being able to make this change live?

 

This has become frustrating. I'm still saddened that there's no group policy for this! How does this get overlooked?!

Link to comment
Share on other sites

This is as upsetting to me as how they removed the ability to pin things to taskbar, or start menu via powershell.

 

Thank goodness technosys made syspin!

http://www.technosys.net/products/utils/pintotaskbar

 

Now if only there was an equivalent for the visual effects issue.

 

I can't help but feel like MS removed these so they could be added back later for them to be able to say 'look what we did', hoping that no one remembered we had it before.

Link to comment
Share on other sites

Hello,

 

What about adding a command to restart the system like:

 

Write-Host "Changes will not take effect until reboot. Press `"y`" to do so now, any other key to exit."
$key = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
if ( $key.Character -eq "y" ) { shutdown -r -t 0 }

 

at the end?

 

Regards,

 

Aryeh Goretsky

 

Link to comment
Share on other sites

Thank you much for the reply +goretsky. Restarting the system is not acceptable as a solution. I've even tried killing explorer, and restarting it with no success in changes taking effect.

 

I've been able to make the visual effect change live on log in this whole time, but now with Win10 it no longer is possible. I just love when an newer version of software actually removes features/freedoms.

Link to comment
Share on other sites

You have to log the current user out for the new settings to take effect.  Once and done, just changed how the system handles it.. no stormtroopers here.  The one registry setting  "VisualEffects" that you've set will turn them all off, or you can do things individually in the registry, which is what group policy sets anyway. 

Link to comment
Share on other sites

I was able to get the change to take effect instantly with the command:

rundll32.exe user32.dll, UpdatePerUserSystemParameters,1,True

 

This no longer is possible. If a logout is required now this is NOT an improvement in anyway. And if there was a group policy this could be set ahead of time via said policy.

 

All in all I find this, and the removal of powershell pinning, just sad. The removing of options like this dose not make for a good upgrade experience for me in my lab deployment environments which were working fine before.

 

These feature removals make for a frustrating upgrade experience for my environments.

 

Bad form MS. Bad form.

Link to comment
Share on other sites

26 minutes ago, margrave said:

@EddieZ Then there should be a new feature in the new system that can achieve the exact same results.

That's the legacy part of my respons. Also these components or code needed may very well conflict with newer code/functionality. New development often means leaving behind some older functionality when they are irreconcilable with the new ways that serve a bigger purpose (slimmer code, addition of new functionality or having other modules of code do the desired function).

 

And 'should' is quite strong. I guess MS offers means to provide feedback or wishlists... Complaining here does not result into anything, that's for sure ;-)

 

Link to comment
Share on other sites

@EddieZ I've tried using their feedback tools. Every time I put something in for Edge not allowing for dragging from the address bar to the desktop tp create a shortcut like every other browser it gets closed as 'not repeatable'. I have no faith at all in their feedback tools.

 

I don't see how it would be legacy if a feature was recreated from the ground up in a the new environment to offer the same function instead of just dropping a feature all together.

 

All new code. Not copy, and paste.

 

Form should follow function. Always.

Link to comment
Share on other sites

6 minutes ago, margrave said:

@EddieZ I've tried using their feedback tools. Every time I put something in for Edge not allowing for dragging from the address bar to the desktop tp create a shortcut like every other browser it gets closed as 'not repeatable'. I have no faith at all in their feedback tools.

 

I don't see how it would be legacy if a feature was recreated from the ground up in a the new environment to offer the same function instead of just dropping a feature all together.

 

All new code. Not copy, and paste.

 

Form should follow function. Always.

If it works with others the issue is not generic.

The functionality and ways to change them through the registry entries refer to specific routines in .exe and .dll files. These routines and files also refer to other codebase in the core of the OS. Adding older functionality means that, although the core code is deprecated, you still would need to add all that code and related code while separating them from the new core code. This will add tremendous complexity and additional memory usage.

 

 

Link to comment
Share on other sites

You've found a way to do this successfully yet having to log off and back on is "not an option". Why not? Is the system unusable until these settings are applied? If Windows 10 couldn't handle those settings on the hardware it was running on it would disable them by default.

 

You've found a solution, just use it. You are doing something that wasn't meant to be done by the end user in this fashion anyway so be glad you got this far.

  • Like 2
Link to comment
Share on other sites

This is not a solution for our locked down lab environments in the labs at the university I work at.

 

The systems are locked down with Smart shield, which is much like Deep freeze. Due to this the users would not like having to login, out, and then back in for any reason.

 

This is small, I know, but it ticks me off that what once worked, is no longer an option. I use to be able to make this change live, and users swore their computers were faster. Well, now as I can't do that at all, when they complain about the speed of the systems being slower after this upgrade the only thing I can say is "Well, that's just Windows 10".

Link to comment
Share on other sites

Why would you expect the behaviour of undocumented user32 methods to remain the same across Windows versions, especially for something as insignificant as this? :huh:

 

Anyway, there's an official documented API which can alter most if not all of the Visual Effects: SystemParametersInfo https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx 

 

An example would be:

 

New-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name VisualFXSetting -PropertyType DWORD -Value 3 -Force
# There's probably an API command for this too, but I don't care enough to look

Add-Type @"
using System;
using System.Runtime.InteropServices;

public class Win32 
{
    [DllImport("user32.dll")]
    public static extern bool SystemParametersInfo(int uAction, int uParam, uint lpvParam, uint flags);
}
"@

# Shadows (SPI_SETDROPSHADOW)
[Win32]::SystemParametersInfo(0x1025, 0, 0, 0x01 -bor 0x02);
# Window contents (SPI_SETDRAGFULLWINDOWS)
[Win32]::SystemParametersInfo(0x25, 0, 0, 0x01 -bor 0x02);
# Additional UI effects (SPI_SETUIEFFECTS)
[Win32]::SystemParametersInfo(0x103F, 0, 0, 0x01 -bor 0x02);

There's others you'll have to look into yourself (i.e. SPI_SETANIMATION). The changes will be reflected in the current session because SystemParametersInfo handles sending the correct messages (i.e. WM_SETTINGCHANGE).

 

---------------

 

This is not a solution for our locked down lab environments in the labs at the university I work at.

 

The systems are locked down with Smart shield, which is much like Deep freeze. Due to this the users would not like having to login, out, and then back in for any reason.

If that's the case, why are you not just disabling the visual effects for the initial Smart Shield state :s

Edited by ZakO
Link to comment
Share on other sites

@ZakO Thank you much for your reply. That seems to be working great! Thanks!

 

Few questions if I may? - (This will make me appear even MORE dumb!)

 

1) Your last statement makes it sound like this setting is machine, and not user based. I could have sworn it was user. If it's machine based then this isn't an issue at all.

 

2) After I run the above sample I can no longer turn on Drop Shadows at all. Upon clicking the checkbox it wont take effect. And upon checking, it's not saving the box being checked. I tried modifying the code, with no luck. I'm sure I'm missing something.

Link to comment
Share on other sites

Hello,

 

If you're using some sort of program to lock the system configuration, couldn't you make the changes you want part of the system configuration before you lock it down with the tool?

 

Regards,

 

Aryeh Goretsky

 

Link to comment
Share on other sites

10 hours ago, margrave said:

@ZakO Thank you much for your reply. That seems to be working great! Thanks!

 

Few questions if I may? - (This will make me appear even MORE dumb!)

 

1) Your last statement makes it sound like this setting is machine, and not user based. I could have sworn it was user. If it's machine based then this isn't an issue at all.

 

2) After I run the above sample I can no longer turn on Drop Shadows at all. Upon clicking the checkbox it wont take effect. And upon checking, it's not saving the box being checked. I tried modifying the code, with no luck. I'm sure I'm missing something.

1) It is user based (HKEY_CURRENT_USER). I'm not sure exactly how you have your setup configured... when a user signs in to one of your computers, what happens, where does it load the initial state from? If the user is recreated each time they sign-in modify default/NTUSER.dat, if the user is recreated from a state by Smart Shield add the modifications there. If you're not persisting user registry changes across sessions it must be loading the defaults from somewhere. 

 

 

2) Unfortunately either the way I've used it, or the API itself, does seem to be a bit buggy (some of the settings won't manually change after changing them via SystemParametersInfo). If you've run it on your own computer you can reset it by setting Visual Effects to "Adjust for best performance", deleting HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask, signing out/in, choosing "Adjust for best appearance". 

 

Link to comment
Share on other sites

On 4/27/2016 at 8:30 AM, margrave said:

This is not a solution for our locked down lab environments in the labs at the university I work at.

 

The systems are locked down with Smart shield, which is much like Deep freeze. Due to this the users would not like having to login, out, and then back in for any reason.

 

This is small, I know, but it ticks me off that what once worked, is no longer an option. I use to be able to make this change live, and users swore their computers were faster. Well, now as I can't do that at all, when they complain about the speed of the systems being slower after this upgrade the only thing I can say is "Well, that's just Windows 10".

The Smart Shield can be turned off, I take it you are not using Windows 10 Pro?

Link to comment
Share on other sites

@ZakO Thanks for all your help. Our traditional setup, the user profile in the lab is created on each login. Thus pulling from the default user profile. We used to customize that default, but with Win10 we'll be stopping that practice. Thanks to your code for further testing, the mandatory profile we're experimenting with is in fact where this setting seems to live. This is also stopping changing this setting live it seems. So this setting will have to be included in the mandatory profile.

 

@Gary7 We are currently planning on deploying Win 10 Pro. We've always deployed the Pro edition of Windows here. Why would you think we're not?

Link to comment
Share on other sites

6 hours ago, margrave said:

@ZakO Thanks for all your help. Our traditional setup, the user profile in the lab is created on each login. Thus pulling from the default user profile. We used to customize that default, but with Win10 we'll be stopping that practice. Thanks to your code for further testing, the mandatory profile we're experimenting with is in fact where this setting seems to live. This is also stopping changing this setting live it seems. So this setting will have to be included in the mandatory profile.

 

@Gary7 We are currently planning on deploying Win 10 Pro. We've always deployed the Pro edition of Windows here. Why would you think we're not?

Because you stated that you did not have Group Policy.  Windows 10 Pro comes with Gp. Windows 10 Home does not. If you cannot find it just type in Run -gpmc.msc

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.