Welcome to MSFN

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


Se7enIs6

Windows XP : Perfect custom shell folder on Desktop

3 posts in this topic

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
0

Share this post


Link to post
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
0

Share this post


Link to post
Share on other sites

Shortcut folder can be created, just name it like NAME.ClassID (Here "My folder.{4c64f810-31ec-11db-a98b-0800200c9a66}" )

Edited by Se7enIs6
0

Share this post


Link to post
Share on other sites

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.