Jump to content

Windows XP : Perfect custom shell folder on Desktop


Recommended Posts

Hi,

I didn't find a good custom shell folder tutorial with the right registry settings, so I share mine with a Desktop icon, a Start Menu entry and a Folder Option checkbox.

This custom shell folder is usable in Explorer (browsable like My Documents)

{4c64f810-31ec-11db-a98b-0800200c9a66} is a ClassID given by a GUID generator.

You can call this custom shell folder by his ClassID. ex. : "explorer /e,::{4c64f810-31ec-11db-a98b-0800200c9a66}"

If you know how to add a checkbox in Display Properties same as My Documents got, please tell me.

In the Windows Registry, just OEM Link will be replaced.

Windows Registry Editor Version 5.00

; Custom shell folder name : "Home" (REG_EXPAND_SZ)
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}]
@=hex(2):48,00,6F,00,6D,00,65,00,00,00
"SortOrderIndex"=dword:00000047

; Custom shell folder icon : "%SystemRoot%\\system32\\SHELL32.dll,150" (REG_EXPAND_SZ)
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,44,00,72,00,69,00,76,00,65,\
00,25,00,5c,00,41,00,70,00,70,00,6c,00,69,00,63,00,61,00,74,00,69,00,6f,00,\
6e,00,73,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,5c,00,41,00,70,00,70,00,6c,\
00,69,00,63,00,61,00,74,00,69,00,6f,00,6e,00,73,00,2e,00,69,00,63,00,6f,00,\
00,00

; Custom shell folder required settings : "%SystemRoot%\system32\shdocvw.dll" (REG_EXPAND_SZ)
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"

; "Folder Shortcut" ClassID
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}\Instance]
"CLSID"="{0AFACED1-E828-11D1-9187-B532F1E9575D}"

; Custom shell folder real path (REG_SZ)
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}\Instance\InitPropertyBag]
"Target"="D:\\Home"

; Custom shell folder attributes :
; 0xf0000000: SFGAO_FILESYSANCESTOR(1),SFGAO_FOLDER(2),SFGAO_FILESYSTEM(4),SFGAO_HASSUBFOLDER(8)
; 0x08000000: SFGAO_BROWSABLE(8)
; 0x00800000: SFGAO_STORAGEANCESTOR(8)
; 0x00000100: SFGAO_DROPTARGET(1)
; 0x00000010: SFGAO_CANRENAME(1)
; 0x0000000d: SFGAO_CANLINK(4),SFGAO_STORAGE(8)
[HKEY_CLASSES_ROOT\CLSID\{4c64f810-31ec-11db-a98b-0800200c9a66}\ShellFolder]
"Attributes"=dword:f880011d
"WantsFORPARSING"=""

; Show the custom shell folder icon on the Destop
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{4c64f810-31ec-11db-a98b-0800200c9a66}"=dword:00000000

; Custom shell folder checkbox in the Folder Options
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\CustomFolderOnDesktop]
"CheckedValue"=dword:00000000
"DefaultValue"=dword:00000000
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\NewStartPanel"
"Text"="Show the Custom Shell Folder on the Desktop"
"Type"="checkbox"
"ValueName"="{4c64f810-31ec-11db-a98b-0800200c9a66}"
"UncheckedValue"=dword:00000001

; Add the custom shell folder to the Desktop
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{4c64f810-31ec-11db-a98b-0800200c9a66}]
@="CustomShellFolder"

Windows Registry Editor Version 5.00

; Use OEMLink as custom shell folder entry in the Start Menu
; Custom shell folder name (REG_SZ)
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]
@="Home"

; Custom shell folder icon (REG_SZ)
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\DefaultIcon]
@="%SystemRoot%\\system32\\SHELL32.dll,150"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance]
"CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"

; Call the custom shell folder by using his ClassID : "::{4c64f810-31ec-11db-a98b-0800200c9a66}"
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag]
"CLSID"="{13709620-C279-11CE-A49E-444553540000}"
"method"="ShellExecute"
"Command"="&Open"
"Param1"="::{4c64f810-31ec-11db-a98b-0800200c9a66}"
;"Param2"="explorer.exe" : Param2 is the executable ignore the file association

; For example, if you want to explore this folder
;"Param1"="/e,::{4c64f810-31ec-11db-a98b-0800200c9a66}"
;"Param2"="explorer.exe"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex]

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\MayChangeDefaultMenu]
@=""

[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\ShellFolder]
"Attributes"=dword:00000000

; Custom shell folder checkbox in Advanced from Start Menu Properties
; Text = custom shell folder name
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\ShowOEMLink]
"CheckedValue"=dword:00000001
"DefaultValue"=dword:00000001
"HKeyRoot"=dword:80000001
"NoOEMLinkInstalled"=dword:00000000
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="Home"
"Type"="checkbox"
"UncheckedValue"=dword:00000000
"ValueName"="Start_ShowOEMLink"

; Custom shell folder policy (NoOEMLinkInstalled)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\ShowOEMLink\Policy\NoOEMLinkInstalled]
"RegKey"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartMenu\\StartPanel\\ShowOEMLink"

; Show the custom shell folder in the Start Menu
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowOEMLink"=dword:00000001

Edited by Se7enIs6
Link to comment
Share on other sites


This custom shell folder is based on the Font shell folder.

If you need to target to a subfolder from Shell Special Folder, please use TargetSpecialFolder and Target like it's explain on this MSDN page :

http://msdn.microsoft.com/library/ms997573.aspx

Here the Shell Special Folder codes :

http://msdn.microsoft.com/library/bb774096.aspx

About the attributes, here the SFGAO codes :

http://msdn.microsoft.com/library/bb762589.aspx

ex. :

Shell Special Folder code (0x24) is WINDOWS folder ( %windir% or %SystemRoot% ), so the target is Fonts folder in the WINDOWS folder.

HKEY_CLASSES_ROOT
CLSID
{D20EA4E1-3957-11D2-A40B-0C5020524152}=REG_SZ:"Fonts"
InfoTip=REG_SZ:"Displays and manages fonts on your computer"
DefaultIcon=REG_EXPAND_SZ:"%SystemRoot%\system32\main.cpl,9"
InProcServer32=REG_EXPAND_SZ:"%SystemRoot%\system32\shdocvw.dll"
ThreadingModel=REG_SZ:"Apartment"
ShellFolder
Attributes=REG_DWORD:0x60000000
WantsFORPARSING=REG_SZ:""
Instance
CLSID=REG_SZ:"{0AFACED1-E828-11D1-9187-B532F1E9575D}"
InitPropertyBag
TargetSpecialFolder=REG_SZ:"0x0024"
Target=REG_SZ:"Fonts"

NOTE: About the Start Menu entry, you can also replace "Set Program Access and Defaults" if you NEVER use it.

Windows Registry Editor Version 5.00

; Use "Set Program Access and Defaults" as custom shell folder entry in the Start Menu
; Custom shell folder name (REG_SZ)
[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}]
@="Home"

; Custom shell folder icon (REG_SZ)
[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\DefaultIcon]
@="%SystemRoot%\\system32\\SHELL32.dll,150"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32]

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\Instance]
"CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"

; Call the custom shell folder by using his ClassID : "::{4c64f810-31ec-11db-a98b-0800200c9a66}"
[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag]
"CLSID"="{13709620-C279-11CE-A49E-444553540000}"
"method"="ShellExecute"
"Command"="&Open"
"Param1"="::{4c64f810-31ec-11db-a98b-0800200c9a66}"

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\shellex]

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\
{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\shellex\MayChangeDefaultMenu]
@=""

[HKEY_CLASSES_ROOT\CLSID\{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}\ShellFolder]
"Attributes"=dword:00000000

; Custom shell folder checkbox in Advanced from Start Menu Properties
; Text = custom shell folder name
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\ShowSetProgramAccessAndDefaults]
"CheckedValue"=dword:00000001
"DefaultValue"=dword:00000001
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="Home"
"Type"="checkbox"
"UncheckedValue"=dword:00000000
"ValueName"="Start_ShowSetProgramAccessAndDefaults"

; Custom shell folder policy (NoSMConfigurePrograms)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\ShowSetProgramAccessAndDefaults\Policy\NoSMConfigurePrograms]
"RegKey"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartMenu\\StartPanel\\ShowSetProgramAccessAndDefaults"

; Show the custom shell folder in the Start Menu
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Advanced]
"Start_ShowSetProgramAccessAndDefaults"=dword:00000001

; Hide Set Program Access and Defaults in Add/Remove Programs
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall]
"NoChooseProgramsPage"=dword:00000001

Edited by Se7enIs6
Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...