Как установить фоновый рисунок на папку

Проблема:
Необходимо отображать рисунок при открытии какой-либо папки. Так же нужно отображать свою подсказку при наведении мышки на папку.
Решение для OS ниже MS Windows Vista:
Создаем или редактируем уже имеющийся в этой папке скрытый файл desktop.ini.
Здесь в "InfoTip" - задается строка подсказки, отображаемая при наведении мышки на паку, а в "IconArea_Image" задается путь и имя файла bmp или jpg, содержащего картинку, которую необходимо показывать при открытии папки (в данном случае, это файл "Logo.bmp" в корне родительской папки).
О дополнительных параметрах файла desktop.ini читаем здесь.
После того, как мы сохранили модифицированный desktop.ini, необходимо установить аттрибуты "Архивный" и "Только чтение" для нашей папки:
Решение для OS MS Windows Vista, Windows 7 и последующих версий:
Конечно, существует множество твикеров, позволяющих делать это автоматически (например, бесплатная утилита Windows 7 Folder Background Changer)
Однако, интерес представляет РУЧНОЙ способ настройки Windows. В отличие от предыдущих версий, в MS Windows Vista и более поздних, не предусмотрено отображение картинок в качестве фона папок. Чтобы включить такую опцию, нам потребуется дополнительная динамическая библиотека (dll) и изменение в реестре:
Примечания:
Необходимо отображать рисунок при открытии какой-либо папки. Так же нужно отображать свою подсказку при наведении мышки на папку.
Решение для OS ниже MS Windows Vista:
Создаем или редактируем уже имеющийся в этой папке скрытый файл desktop.ini.
- Код: Выделить всё
[.ShellClassInfo]
ConfirmFileOp=0
InfoTip="Эта папка предназначена для..."
[ExtShellFolderViews]
{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
{5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262}
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=..\Logo.bmp
Здесь в "InfoTip" - задается строка подсказки, отображаемая при наведении мышки на паку, а в "IconArea_Image" задается путь и имя файла bmp или jpg, содержащего картинку, которую необходимо показывать при открытии папки (в данном случае, это файл "Logo.bmp" в корне родительской папки).
О дополнительных параметрах файла desktop.ini читаем здесь.
После того, как мы сохранили модифицированный desktop.ini, необходимо установить аттрибуты "Архивный" и "Только чтение" для нашей папки:
- Код: Выделить всё
Attrib +A +R C:\MyFolder
Решение для OS MS Windows Vista, Windows 7 и последующих версий:
Конечно, существует множество твикеров, позволяющих делать это автоматически (например, бесплатная утилита Windows 7 Folder Background Changer)
Однако, интерес представляет РУЧНОЙ способ настройки Windows. В отличие от предыдущих версий, в MS Windows Vista и более поздних, не предусмотрено отображение картинок в качестве фона папок. Чтобы включить такую опцию, нам потребуется дополнительная динамическая библиотека (dll) и изменение в реестре:
- Копируем FolderBackground_x86.dll для 32-х битной системы или FolderBackground_x64.dll для 64-х битной системы в папку %SystemRoot%\System32 под именем FolderBackground.dll:
- Код: Выделить всё
copy /Y FolderBackground_x86.dll "%WINDIR%\System32\FolderBackground.dll"
или- Код: Выделить всё
copy /Y FolderBackground_x64.dll "%WINDIR%\System32\FolderBackground.dll"
- Регистрируем скопированную библиотеку:
- Код: Выделить всё
regsvr32.exe /s "%SystemRoot%\System32\FolderBackground.dll"
- Импортируем файл реестра:
- Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{73526E5A-FD53-4BE7-B5E2-D3C89D7413DC}"="Ave's FolderBg"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SharedTaskScheduler]
"{73526E5A-FD53-4BE7-B5E2-D3C89D7413DC}"="Ave's FolderBg"
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]
"KnownFolderDerivedFolderType"="{57807898-8C4F-4462-BB63-71042380B109}"
"SniffedFolderType"="Generic"
"FolderType"=""
;Generic - Folder Template
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]
"Rev"=dword:00000000
"FFlags"=dword:43000001
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10, 00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47, 1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a, 10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10, a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5, f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1, 25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
;Documents - Folder Template
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7d49d726-3c21-4f05-99aa-fdc2c9474656}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10, 00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47, 1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a, 10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10, a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5, f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1, 25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
;Music - Folder Template
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{94d6ddcc-4a68-4175-a374-bd584a510b78}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10, 00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47, 1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a, 10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10, a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5, f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1, 25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
;Pictures - Folder Template
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{b3690e58-e961-423b-b687-386ebfd83239}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10, 00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47, 1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a, 10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10, a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5, f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1, 25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
;Videos - Folder Template
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5fa96407-7e77-483c-ac93-691d05850de8}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10, 00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47, 1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a, 10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10, a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5, f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1, 25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
- Перезапускаем Explorer (либо совершаем Выход - Вход в Windows)
- Заходим в свойства папки, на которую хотим установить фоновый рисунок, идем на вкладку «Folder Background»:
- Устанавливаем требуемые параметры:
- Set Image - Выбираем рисунок для фона папки
- Remove Image - Удаляем фоновый рисунок выбранной папки
- Text color - Выбираем цвет текста для папки
- Shadow the text - Отмечаем, если хотим видеть тень текста (только при просмотре в виде иконок)
- Apply to sub folders also - Отмечаем, если выбранные параметры нужно применить для вложенных папок
- Set Image - Выбираем рисунок для фона папки
- Сохраняем выбранные параметры и наслаждаемся видом фонового рисунка
Примечания:
- В результате вышеприведенных манипуляций, в папке с фоновым рисунком создается файлик desktop.ini со следующим содержанием:
- Код: Выделить всё
[AveFolder]
IconArea_Image=C:\Users\Public\Pictures\Sample Pictures\Hydrangeas.jpg
ShadowedText=0
Recursive=1
TextR=0
TextG=0
TextB=0
здесь:- IconArea_Image - Полный (или относительный) путь к файлу фоновой картинки
- ShadowedText - Тень текста
- Recursive - Применение для вложенных папок
- TextR, TextG, TextB - Цвет текста RGB
- Если файлик desktop.ini удалить из папки, то все настройки для этой папки сбросятся.
- Если нам необходимо отображать фоновый рисунок для OS MS Windows 7 и для MS Windows XP одновременно, то необходимо в файле desktop.ini прописать параметры и для Windows XP и для Windows 7 (это же справедливо для всех прочих ОС в сочетании пред-Vista и Vista и выше версий), например:
- Код: Выделить всё
[.ShellClassInfo]
ConfirmFileOp=0
InfoTip="Эта папка предназначена для временного хранения файлов. Файлы с датой старше 20 суток удаляются автоматически"
[ExtShellFolderViews]
{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
{5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262}
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=..\TempLogo.bmp
[AveFolder]
IconArea_Image=..\TempLogo.bmp
ShadowedText=1
Recursive=1
TextR=0
TextG=0
TextB=0
Здесь все параметры выше строки «[AveFolder]» относятся к ОС предшествующим Windows Vista, а строки [AveFolder] и ниже - к ОС Windows Vista и более поздним версиям. - Для удаления расширения «Folder Background» необходимо:
- Отменить регистрацию библиотеки FolderBackground.dll
- Код: Выделить всё
regsvr32 /s /u "%SystemRoot%\System32\FolderBackground.dll"
- Удалить саму библиотеку из папки %SystemRoot%\System32
- Код: Выделить всё
del "%SystemRoot%\System32\FolderBackground.dll" /Q
- Удалить из реестра записи, внесенные при установке «Folder Background»
- Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{73526E5A-FD53-4BE7-B5E2-D3C89D7413DC}"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SharedTaskScheduler]
"{73526E5A-FD53-4BE7-B5E2-D3C89D7413DC}"=-
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
- Отменить регистрацию библиотеки FolderBackground.dll
- Для автоматизации процесса установки/удаления «Folder Background» существует сборка, взятая отсюда: