从命令行控制面板设置

Control Panel Settings from Command Line

我正在寻找一种使注册表更改立即生效的方法。 具体我要触摸的值是:

HKEY_CURRENT_USER/Control\Panel/Desktop/WindowArrangementActive

当您直接从控制面板更改此设置时它会立即生效,但当我手动更改它时,它在重新启动之前不会注册。

我正在尝试制作 disable/enable window 在 Windows 10.

中捕捉的脚本

我目前已经尝试 运行 更改后的以下命令,但没有成功:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True

我最终使用 SystemParametersInfo 在 C# 中完成了工作:

[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
public static extern bool SystemParametersInfo(int uiAction, int uiParam, IntPtr pvParam, int fWinIni);

并使用以下参数调用它:

SystemParametersInfo(0x0083, 0, IntPtr.Zero, 0x001A);

最后一个参数是通知系统变量已根据 Microsoft 文档更改的参数:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms725497(v=vs.85).aspx