Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Автосмена обоев при входе пользователя (http://forum.oszone.net/showthread.php?t=126540)

SAOPP 20-12-2008 17:14 985704

Автосмена обоев при входе пользователя
 
Ребят, уже давно задаюсь вопросом касательно автоматической смены обоев при входе (либо другом варианте). Ранее был и сторонний софт, который позволял это делать, и все-возможные тулзы с календарями и прочее, но вот минималистики я встречал мало, т.е. указал папку, назначил смену с нужными параметрами и всё. Руки не доходили... но сейчас как раз время есть, дабы возможно воплотить это.

Во-первых, прежде всего интересует нужно ли это кому-то, интересно ли это будет вообще? Во-вторых, интересует чьи-либо наработки, может быть кто-то уже реализовывал подобное с помощью написания собственными силами тулзы, либо использует свой метод. В-третьих, гуляют мысли о батниках, скриптах и прочим, чем можно реализовать смену обоев.

В любом случае, интересно будет послушать мысли.

Pozia 21-12-2008 10:55 986039

Я бы не отказался от такой фишки в винде. :) Делайте протестирую с удовольствием. Сам в разработке врядли помогу. Нет соответствующих знаний.

Vadikan 21-12-2008 11:50 986088

SAOPP, а причем тут автоустановка? Наверняка есть масса сторонних программ для этой цели, которые отличаются лишь размером и функционалом. Я для автосмены обоев пользуюсь PowerPro, и это лишь одна из множества ее функций. Если вы хотите написать свое приложение, то это в Программирование, но никак не в АУ.

SAOPP 21-12-2008 11:55 986097

Здесь первоначально идея идёт от создания батников, для смены оного.

Vadikan 21-12-2008 12:33 986124

SAOPP, средствами CMD не получится, поскольку им можно внести значения в HKCU, но для вступления изменений в силу требуется перезагрузка.

SAOPP 21-12-2008 12:44 986135

Это да, но может быть применяя при этом вспомогательные утилиты например. Что за PowerPro, можно на него посмотреть?

Vadikan 21-12-2008 17:10 986369

Цитата:

Цитата SAOPP
Что за PowerPro, можно на него посмотреть? »

Windows PowerPro

Котяра 21-12-2008 20:33 986513

Для смены обоев надо изменить кое-что в реестре. Подробнее тут..
Итого: надо написать программу, которая читает список обоев, подставляет путь к картинке, генерирует BAT-файл и запускает его (или сразу запускает команду). Потом программа сохраняет имя обоины в список уже примененных, которые игнорирууются утилитой при следующих запусках. После установки последней картинки из списка список уже примененных очищается.

Цитата:

Цитата Vadikan
средствами CMD не получится, поскольку им можно внести значения в HKCU, но для вступления изменений в силу требуется перезагрузка. »

Эта проблема решаема:
%SystemRoot%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

SAOPP 21-12-2008 20:49 986524

Котяра, это минимум то, о чём я думал. Теперь бы обзавестись насколько можно понять этой крохотной тулзой, я в написании не силён, и скажем так вообще. По этому было бы очень не плохо, если бы нашёлся человек со свободным на несколько часов (а именно столько думаю нужно) временем для написания утилитки :)

Admiral 25-12-2008 03:51 989659

Собственно нужно менять файл %UserProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp и запускать с теме параметрами привёл Котяра - RUNDLL32.EXE.
Но не всё так просто, данный файл обязательно формата, а не только расширения, BMP, так что мне становится понятно смысл создания темы конвертер изображений из JPG в BMP из командной строки.
В самом Виндовс есть механизм перекодировки, иначе б пользователя просили отличные от BMP формата файла, которые последний желает использовать в виде обой, переводить в стороннем софте.

Я даже проследил FileMon что вызывается в момент нажатия Применить в свойствах экрана, когда выбрана обоя отличная от BMP. Было засечено RUNDLL32, однако не всё так просто. Когда просматриваешь программой Просмотр изображений и факсов в меню правой кнопки тоже есть пункт поставить обоей на робочем столе, так вот в этом случаи RUNDLL32 не вызывается, с обоями работает explorer (читай с перекодировкой формата).

Вывод: встроенная в Виндовс перекодировка из разных графических форматов в BMP если и документированная, то по крайне мере не особо распространённая, иначе б не было необходимости в написании утилит подобно той, что привёл Petya V4sechkin в теме про конвертор ссылаясь на аддон.
Кстати для автоматизации сабжа применяют как раз IrfanView, про использования которого в том сабже сказал Vadikan.

ALL
Нужно найти ту функцию, возможно её можно вызвать и через RUNDLL32.
Спасибо за внимание.


Время: 06:28.

Время: 06:28.
© OSzone.net 2001-