Se7enIs6 Posted April 9, 2010 Posted April 9, 2010 (edited) 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 August 26, 2011 by Se7enIs6 1
Se7enIs6 Posted April 11, 2010 Author Posted April 11, 2010 (edited) 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.aspxHere the Shell Special Folder codes :http://msdn.microsoft.com/library/bb774096.aspxAbout the attributes, here the SFGAO codes :http://msdn.microsoft.com/library/bb762589.aspxex. :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 August 26, 2011 by Se7enIs6
Se7enIs6 Posted August 26, 2011 Author Posted August 26, 2011 (edited) Shortcut folder can be created, just name it like NAME.ClassID (Here "My folder.{4c64f810-31ec-11db-a98b-0800200c9a66}" ) Edited August 26, 2011 by Se7enIs6
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now