Настройки панели управления из командной строки

Я ищу способ, чтобы изменения реестра вступили в силу сразу. В частности, значение, которое я хочу коснуться, это:

HKEY_CURRENT_USER / Элемент управления \ Панель / Рабочий стол /WindowArrangementActive

Когда вы изменяете этот параметр непосредственно с панели управления, он вступает в силу немедленно, но когда я изменяю его вручную, он не регистрируется до перезагрузки.

Я пытаюсь сделать скрипт для отключения / включения привязки окна в Windows 10.

В настоящее время я попытался выполнить следующую команду после изменения безуспешно:

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

1 ответ

Решение

Я закончил тем, что выполнил работу в C#, используя SystemParametersInfo:

[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

Другие вопросы по тегам