许多注册表更改要求您再次注销登录以应用更改。但是,如果按Apply
部分中的Appearance and Personalisation
按钮,外观会刷新而无需注销:
我想知道Windows是否为此功能提供了API,以便可以通过编程方式调用它而无需注销?
如果可以运行简单的控制台应用程序或PowerShell脚本来提交更改,那么测试某些设置要容易得多。
答案 0 :(得分:3)
如果这些是使用API更改设置的文档化方法,则您应该更喜欢直接更改注册表。对于许多设置,您可以使用SystemParametersInfo
function。
假设不能解决问题,您可以使用相同的方式通知应用程序某些内容已发生变化:它会广播WM_SETTINGCHANGE
message。许多应用程序会在收到消息时侦听该消息并重新加载它们。
快速搜索出现了此广播的C#版本:c# Registry - commit changes on the MSDN forums
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, (UIntPtr)0, "Environment", SendMessageTimeoutFlags.SMTO_ABORTIFHUNG, 5000, out result);