Iska натолкнул меня на мысли, и я попробовал сделать вот что:
Создал в папке Windows свою папку "nafnaf" и в ней создал три файла:
Уменьшаем значки на рабочем столе Windows 7.cmd:
Код:
![Выделить весь код](images/misc/selectcode.png)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v IconSize /t REG_SZ /d %windir%\nafnaf\IconSize.cmd /f
shutdown -r -f -t 0
IconSize.cmd:
Код:
![Выделить весь код](images/misc/selectcode.png)
regedit /s IconSize.reg
IconSize.reg
Код:
![Выделить весь код](images/misc/selectcode.png)
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop]
"IconSize"=dword:00000020
То есть добавляем в HKLM ... RunOnce команду на разовый запуск IconSize.cmd, по идее перед запуском оболочки.
IconSize.cmd в свою очередь обновляет соответствующую запись в реестре, после чего explorer.exe уже запускается подхватывая новые значения.
И попробовал запустить это дело на свежеустановленной системе.
Первый раз вроде бы как сработало!
Но последующие разы уже перестало работать.
Я начал разбираться, добавил код возврата ошибки в файл IconSize.cmd (чтобы видеть отработал ли reg файл) и в конец естественно паузу. Получилось так:
IconSize.cmd:
Код:
![Выделить весь код](images/misc/selectcode.png)
regedit /s IconSize.reg %errorlevel%
pause
Тем самым после перезагрузки, я смог проконтролировать что происходит.
Появилось консольное окно, %errorlevel% был равен нулю "0"
Запустил диспетчер задач, и через него редактор реестра. Значение "IconSize" осталось старым. Куда тогда отрабатывал IconSize.reg ?
Запустил повторно IconSize.cmd, не закрывая окно предыдущей его сессии, после чего параметр "IconSize" таки обновился.
Похоже что первый раз этот параметр умудрился прописаться после входа в CURRENT_USER, а последующие разы, он отрабатывает ДО захода в CURRENT_USER, и как следствие срабатывает в холостую...
Если не слишком путано объяснил, то скажите, правильно я рассуждаю? И какие дальнейшие могут быть идеи?