【发布时间】:2012-03-27 20:36:32
【问题描述】:
我正在修改在以下位置找到的注册表值:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects。
出于我的目的,它可以存储 0、1、2 的 DWORD 值。这些值对应于 Windows 7 中性能选项下的视觉效果单选按钮;分别是“让 Windows 选择最适合我的计算机的”、“调整以获得最佳外观”和“调整以获得最佳性能”。
如果您使用实际的“性能选项”屏幕并进行更改并单击应用,Windows 中的视觉设置将按预期重新加载。如果您以编程方式更改该值,它不会做任何事情。
有没有办法在代码中实现这一点?
【问题讨论】:
-
这个值只是为了展示。它只是告诉控制面板在您下次打开它时选择哪个单选按钮。它实际上并没有做任何事情。
-
@RaymondChen 很高兴知道!有没有办法实现我的目标?
-
请问您为什么要以编程方式尝试修改应该是用户配置选项的内容?这是应用程序永远不需要做的事情,因为它基于运行 Windows 的特定硬件的用户体验。 (如果这是您的应用应该能够执行的操作,那么将有一个已发布的 API 可用于执行此操作,或者
SystemParametersInfo中的标志值来更改它。没有。) -
不清楚你的目标是什么。您想更改性能选项,还是只想使用单选按钮?要更改性能选项,请使用相应的 API,例如
SystemParametersInfo(SPI_SETNONCLIENTANIMATION)。 -
@KenWhite 它需要以编程方式设置,以便我可以在运行一系列要求尽可能接近毫秒精度的医学测试之前进行设置。我们通过广泛的测试发现,“让 Windows 处理”会导致计时不准确性增加。此外,用户不是很懂计算机,能够给他们一个“嘿,傻傻地点击这个按钮”选项将是最佳选择。
标签: .net windows winapi registry