1 (изменено: mozers, 2015-05-29 20:50:35)

Тема: BAT,VB|JS,WinAPI: Применить параметры цвета, измененные через реестр

Задача - применить ко всем окнам Windows 7 параметры цвета, измененные через реестр.
Т.е. например, было:

[HKEY_CURRENT_USER\Control Panel\Colors]
"TitleText"="0 0 0"

меняю в реестре на

"TitleText"="255 0 0"

запускаю скрипт/тулзу и немедленно вижу результат. Без перелогона.
Что пробовал:
1. cmd

RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

2. cmd

taskkill /IM explorer.exe /F
start "" explorer

3. Через PowerShell (хотя даже если бы сработало, то мне такой вариант не подходит)

Set-ItemProperty 'HKCU:\Control Panel\Colors' -Name TitleText -Value "255 0 0"

4. Через VB6 + WinAPI:

hDesk = GetDesktopWindow()
LockWindowUpdate hDesk
RedrawWindow hDesk, ByVal 0&, ByVal 0&, RDW_INVALIDATE
LockWindowUpdate &H0

Во всех случаях эффект - нулевой.
Параметры может применять сама Винда (ну, знаете, экран темнеет, "подождите", оп и готово) только как ее заставить из скрипта или программы запустить этот механизм?
Параметры может применять чудо-прога "3D Color Changer". Применяет мгновенно, без всяких потемнений и "подождите". Т.е. все таки функция обновления существует?
Так все таки может кто то из вас, уважаемые, подcкажет?
Пойдет: маленькая консольная тулза (типа nircmd), wsh скрипт, компилируемый в VisualStudio код и т.п.

2

Re: BAT,VB|JS,WinAPI: Применить параметры цвета, измененные через реестр

Искал, искал и наконец нашел Работает!
Вопрос снят!