Применение изменений в реестре без перезагрузки
Много где обсуждалась данная тема, но так ничего и не работает.
SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)
TEXT("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\DreamScene")));
SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) TEXT("HKEY_CURRENT_USER\\Control Panel\\Desktop")));
DWORD_PTR dwResult;
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0, SMTO_NORMAL ||
SMTO_ABORTIFHUNG ||SMTO_NOTIMEOUTIFNOTHUNG, 1, &dwResult);
Изменения должны применяться для программы DreamScene (видео-обои) и для смены обоев рабочего стола. К сожалению, ни один из приведенных способов не работает. Убийство проводника не предлагать!
Источник: Stack Overflow на русском