你可以从应用程序更改视觉效果性能设置?

我正在修改在以下位置find的registry值:

HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\ VisualEffects。

出于我的目的,它可以存储0,1,2的DWORD值。这些值对应于Windows 7中的“性能选项”下的“视觉效果”单选button; “让Windowsselect最适合我的电脑”,“最佳外观调整”和“最佳性能调整”。

如果您使用实际的“性能选项”屏幕并进行更改,然后单击“应用”,则Windows中的可视设置将按预期重新加载。 如果以编程方式更改该值,则不会执行任何操作。

有没有办法在代码中实现这一点?

Solutions Collecting From Web of "你可以从应用程序更改视觉效果性能设置?"

为了扩大雷蒙德的评论:

视觉效果选项卡有十五个单独的性能选项。 单选按钮“Adjust for best appearance”将其全部打开。 “调整为最佳性能”将其全部关闭。 “让Windows选择什么是最适合我的电脑”可能是基于Windows体验索引或类似的方法来设置它们。

您不能从应用程序中实现“让Windows选择最适合我的计算机”,或者至少不是那么容易。 但是你应该能够实现其他两个选项,通过使用SystemParametersInfo并设置每个十五个单独的选项。

您需要确定与“视觉效果”选项卡中的选项相对应的十五个设置:其中一些会相当明显,其他则可能是反复试验的问题。 希望如果您将单选按钮设置为“自定义”,当您打开“视觉效果”选项卡时,您将看到应用程序所做的更改,因此您将能够判断是否进行了正确的设置。

您可能需要为单选按钮设置注册表值,以便用户在打开控制面板时看到正确的事情。

附录:对于您描述的情况,您可能需要先阅读每个当前设置,然后再恢复它们。 要么读取和恢复注册表设置,要么只是不要触摸它。

据我所知,注册管理机构就像任何其他存储一样。

当应用程序需要注册表中的值时,他们检查它。 大多数应用程序只在首次启动时才读取注册表。 您通常必须重新启动相关的应用程序,如果您手动更改其注册表项之一。 即使不需要重新启动,您仍然需要弄清楚如何触发该特定应用程序来重新检索该特定条目。

所以要回答你的问题,没有神奇的“刷新”命令将注册表项的当前值推送到适当的应用程序。

现在,你想问的真正的问题是“有没有办法强制Windows重新加载性能选项?”。 我知道没有办法做到这一点。

如果有可用的WinApi调用,它可能会提供新的值,它将负责更新注册表。