Add specific folders to Navigation Pane

Page 3 of 4 FirstFirst 1234 LastLast

  1. q9q
    Posts : 9
    Window 11 Dev ARM (Parallels / Apple Silicon)
       #21

    Hello, thank you all for the many replies!

    I have not yet configured anything, but here are some questions/comments.

    - The reason why I pasted that information from my registry (stupidly typing it manually), my point was to show you how Parallels does it, and that this method works flawlessly. If the information that I gave there does not suffice, please give me instructions and I will follow them. However also note that the Parallels method is obviously integrated in the whole VM, so perhaps something is happening there that cannot be achieved outside of the Parallels VM Software logic. (But like I said, these folders are accesible via network, and via the navigation pane special folders too)

    - Concerning the Winaero method, since I want to add a NETWORK folder (the files on MacOS accessed via network from within the VM), I encounter two questions:

    a) It was mentioned earlier that the Winaerao method seems to perform some aggressive locking attemts. I don't know if that might cause issues with the VM / MacOS host system where the target is / network (it uses prlsf file system).

    b) when I go to Winaero and attempt to add one of the macos network folders, I get a banner in the file/folder select dialogue. "network detection and file sharing are deactivated (I don't understand why, because I can regularly access them in file explorer). network computers and - devices are not visible. klick here to change...."

    then i get:
    "shall network detection and file sharing be activated for all public networks?

    no, transform the network to a private network
    yes, activate for all public networks"

    I don't know if I will mess up by choosing any of these.

    please note that I translated from German.
      My Computer

  2. das10's Avatar
    Posts : 3,021
    Win10
       #22

    I don't anything about the query you raise re: Network folder, but as I was the one who mentioned the lock on a folder set through WinAero, I should now like to clarify that out of all the local folders that I tested using both the methods, there is only one folder which gets locked and it was only a coincidence that I had picked that folder.

    I haven't yet had the opportunity to test why only this particular folder gets locked. Otherwise, excepting the above odd folder, both methods act similarly.
      My Computer

  3. KeithM's Avatar
    Posts : 925
    Microsoft Windows 10 Home
       #23

    q9q said:
    Hello, thank you all for the many replies!

    I have not yet configured anything, but here are some questions/comments.

    - The reason why I pasted that information from my registry (stupidly typing it manually), my point was to show you how Parallels does it, and that this method works flawlessly. If the information that I gave there does not suffice, please give me instructions and I will follow them. However also note that the Parallels method is obviously integrated in the whole VM, so perhaps something is happening there that cannot be achieved outside of the Parallels VM Software logic. (But like I said, these folders are accesible via network, and via the navigation pane special folders too)
    So you're working in a VM? I have no experience with those. What is "Parallels" Does PowerShell work in the VM?

    If PowerShell works, I'll post some simple test code.
      My Computer


  4. q9q
    Posts : 9
    Window 11 Dev ARM (Parallels / Apple Silicon)
       #24

    Parallels is VM software to run Windows on MacOS. Like VMWare. It supports Wiindows 11 for ARM and runs on Apple Silicon Macs. According to MS, Powershell works on Windows ARM. (Note this is 64 bit, if relevant.)
      My Computer


  5. Posts : 452
    Win7 Pro X64, Win10 Pro x640
       #25

    Just out of curiosity, in @KeithM registry script, how do you know to use shell32.dll as the InProcServer32 value and when do you use Threading Models Apartment or Both?
      My Computer

  6. KeithM's Avatar
    Posts : 925
    Microsoft Windows 10 Home
       #26

    bamajon1974 said:
    Just out of curiosity, in @KeithM registry script, how do you know to use shell32.dll as the InProcServer32 value and when do you use Threading Models Apartment or Both?
    That's copying fron existing examples in the registry that have the behavior we want:

    OneDrive on the Desktop/Navigation Pane for expample:



    Code:
    PS HKCR:\clsid> gi '{018D5C66-4533-4307-9B53-224DE2ED1FE6}\*' | ft -AutoSize -Wrap
    
    
        Hive: HKEY_CLASSES_ROOT\clsid\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
    
    
    Name           Property
    ----           --------
    DefaultIcon    (default) :
                   C:\Users\keith\AppData\Local\Microsoft\OneDrive\OneDrive.exe,0
    InProcServer32 (default) : C:\WINDOWS\system32\shell32.dll
    Instance       CLSID : {0E5AAE11-A475-4c5b-AB00-C66DE400274E}
    ShellFolder    FolderValueFlags : 40
                   Attributes       : 4034920525
    When you look up the InstanceID {0E5AAE11-A475-4c5b-AB00-C66DE400274E}, you see that this is an instance of a "Shell File System Folder"

    There's a fair number of these in the registry:

    Code:
    PS HKCR:\CLSID> gci | ? {$_.GetSubKeyNames() -contains 'Instance'} |
    >>     select PSChildName , @{n = 'InstanceID'; E = { $_.OpenSubkey('Instance').GetValue('CLSID')    }} |
    >>  group InstanceID |
    >>     select Count , Name , @{ N = 'FoundIn' ; E = { ($_.Group).PSChildName -join "`n" }}| ft -AutoSize -Wrap
    
    Count Name                                   FoundIn
    ----- ----                                   -------
       26 {0E5AAE11-A475-4c5b-AB00-C66DE400274E} {018D5C66-4533-4307-9B53-224DE2ED1FE6}
                                                 {088e3905-0323-4b02-9826-5d99428e115f}
                                                 {0DB7E03F-FC29-4DC6-9020-FF41B59E513A}
                                                 {1CF1260C-4DD0-4ebb-811F-33C572699FDE}
                                                 {1f3427c8-5c10-4210-aa03-2ee45287d668}
                                                 {24ad3ad4-a569-4530-98e1-ab02f9417aa8}
                                                 {374DE290-123F-4565-9164-39C4925E467B}
                                                 {38f734c2-a457-40c0-a26c-5ee244d9f7d4}
                                                 {3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}
                                                 {3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
                                                 {4336a54d-038b-4685-ab02-99bb52d3fb8b}
                                                 {5b934b42-522b-4c34-bbfe-37a3ef7b9c90}
                                                 {896664F7-12E1-490f-8782-C0835AFD98FC}
                                                 {A0953C92-50DC-43bf-BE83-3742FED03C9C}
                                                 {A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}
                                                 {b155bdf8-02f0-451e-9a26-ae317cfd7779}
                                                 {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
                                                 {c691b738-1048-4259-a161-68945f2e0bdf}
                                                 {D20EA4E1-3957-11d2-A40B-0C5020524153}
                                                 {d3162b92-9365-467a-956b-92703aca08af}
                                                 {d34a6ca6-62c2-4c34-8a7c-14709c1ad938}
                                                 {DFFACDC5-679F-4156-8947-C5C76BC0B67F}
                                                 {e4ed7853-9e0a-4750-a61a-5431d942dddf}
                                                 {ed50fc29-b964-48a9-afb3-15ebb9b97f36}
                                                 {f8278c54-a712-415b-b593-b77a2be0dda9}
                                                 {f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}
    The code to implement an instance of the Shell File System Folder is in Shell32.dll, so that's why it's the "InProcServer32". It creates the instance based on the information found in InitPropertyBag.

    As far as threadingModel goes, it looks like I created my folder by copying the OneDrive entry, which doesn't specify one. But the majority seem to specify "Both", so maybe I should add that. But looking at that link, it may not be necessary.
      My Computer



  7. Posts : 452
    Win7 Pro X64, Win10 Pro x640
       #27

    KeithM said:
    That's copying fron existing examples in the registry that have the behavior we want:

    OneDrive on the Desktop/Navigation Pane for expample:



    Code:
    PS HKCR:\clsid> gi '{018D5C66-4533-4307-9B53-224DE2ED1FE6}\*' | ft -AutoSize -Wrap
    
    
        Hive: HKEY_CLASSES_ROOT\clsid\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
    
    
    Name           Property
    ----           --------
    DefaultIcon    (default) :
                   C:\Users\keith\AppData\Local\Microsoft\OneDrive\OneDrive.exe,0
    InProcServer32 (default) : C:\WINDOWS\system32\shell32.dll
    Instance       CLSID : {0E5AAE11-A475-4c5b-AB00-C66DE400274E}
    ShellFolder    FolderValueFlags : 40
                   Attributes       : 4034920525
    When you look up the InstanceID {0E5AAE11-A475-4c5b-AB00-C66DE400274E}, you see that this is an instance of a "Shell File System Folder"

    There's a fair number of these in the registry:

    Code:
    PS HKCR:\CLSID> gci | ? {$_.GetSubKeyNames() -contains 'Instance'} |
    >>     select PSChildName , @{n = 'InstanceID'; E = { $_.OpenSubkey('Instance').GetValue('CLSID')    }} |
    >>  group InstanceID |
    >>     select Count , Name , @{ N = 'FoundIn' ; E = { ($_.Group).PSChildName -join "`n" }}| ft -AutoSize -Wrap
    
    Count Name                                   FoundIn
    ----- ----                                   -------
       26 {0E5AAE11-A475-4c5b-AB00-C66DE400274E} {018D5C66-4533-4307-9B53-224DE2ED1FE6}
                                                 {088e3905-0323-4b02-9826-5d99428e115f}
                                                 {0DB7E03F-FC29-4DC6-9020-FF41B59E513A}
                                                 {1CF1260C-4DD0-4ebb-811F-33C572699FDE}
                                                 {1f3427c8-5c10-4210-aa03-2ee45287d668}
                                                 {24ad3ad4-a569-4530-98e1-ab02f9417aa8}
                                                 {374DE290-123F-4565-9164-39C4925E467B}
                                                 {38f734c2-a457-40c0-a26c-5ee244d9f7d4}
                                                 {3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}
                                                 {3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
                                                 {4336a54d-038b-4685-ab02-99bb52d3fb8b}
                                                 {5b934b42-522b-4c34-bbfe-37a3ef7b9c90}
                                                 {896664F7-12E1-490f-8782-C0835AFD98FC}
                                                 {A0953C92-50DC-43bf-BE83-3742FED03C9C}
                                                 {A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}
                                                 {b155bdf8-02f0-451e-9a26-ae317cfd7779}
                                                 {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
                                                 {c691b738-1048-4259-a161-68945f2e0bdf}
                                                 {D20EA4E1-3957-11d2-A40B-0C5020524153}
                                                 {d3162b92-9365-467a-956b-92703aca08af}
                                                 {d34a6ca6-62c2-4c34-8a7c-14709c1ad938}
                                                 {DFFACDC5-679F-4156-8947-C5C76BC0B67F}
                                                 {e4ed7853-9e0a-4750-a61a-5431d942dddf}
                                                 {ed50fc29-b964-48a9-afb3-15ebb9b97f36}
                                                 {f8278c54-a712-415b-b593-b77a2be0dda9}
                                                 {f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}
    The code to implement an instance of the Shell File System Folder is in Shell32.dll, so that's why it's the "InProcServer32". It creates the instance based on the information found in InitPropertyBag.

    As far as threadingModel goes, it looks like I created my folder by copying the OneDrive entry, which doesn't specify one. But the majority seem to specify "Both", so maybe I should add that. But looking at that link, it may not be necessary.
    Understood. Thank you for the info!
      My Computer


  8. Posts : 1
    Windows 10
       #28

    I whipped up an account to try to contrbute something here. I opted to use Keith's code here:

    KeithM said:
    You can do it without 3rd-party tools.
    but ended up with an issue. It jammed the folder I wanted to put into my navigation pane onto my desktop, with no native way to hide it. Others are probably not "show icons" folk around here, but I like to display my lone recycling bin.

    Anyway, there's a quick fix if you add these lines to Keith's business:

    Code:
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
    "{f87f4912-41dd-4458-b4c3-c56f18e189cf}"=dword:00000001
    and give it a restart.

    Remember, of course, to change the GUID in my example to whatever you generated. Hopefully that saves someone the 30 minutes I spent "find"-shuffling through the registry like a doofus.

    Cheers!
      My Computer

  9. AuraticTrance's Avatar
    Posts : 56
    Windows 10 Pro 1903
       #29

    KeithM said:
    You can do it without 3rd-party tools.

    Generate a GUID as insttructed here.

    Replace {c691b738-1048-4259-a161-68945f2e0bdf} in the following .reg file with your GUID.

    Edit TargetFOlderPath to your desired folder.

    Merge

    Edit the name (Default) and DefaultIcon after mergiing.

    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}]
    @="Sandbox"
    "System.IsPinnedToNameSpaceTree"=dword:00000001
    "SortOrderIndex"=dword:00000042
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}\DefaultIcon]
    @="C:\\Users\\keith\\AppData\\Local\\Microsoft\\OneDrive\\OneDrive.exe,0"
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}\InProcServer32]
    @=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,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,\
      65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,00,00
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}\Instance]
    "CLSID"="{0E5AAE11-A475-4c5b-AB00-C66DE400274E}"
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}\Instance\InitPropertyBag]
    "Attributes"=dword:00000011
    "TargetFolderPath"="C:\\Users\\Keith\\Sandbox"
    
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{c691b738-1048-4259-a161-68945f2e0bdf}\ShellFolder]
    "FolderValueFlags"=dword:00000028
    "Attributes"=dword:f080004d
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{c691b738-1048-4259-a161-68945f2e0bdf}]
    Attachment 280373
    Thank you for the solution..

    I'd created a special folder for some network share locations, but due to some reason i'm unable to double-click and open those folders, i'm assuming it may be something related with the file/folder permissions, is there a way i can modify permissions for my special folder?

    For reference, here is a screenshot
    Add specific folders to Navigation Pane-dir.png

    double-clicking on these folders does nothing.

    Also, is there a way to pin sub-items to these newly created custom items? for eg: in the pic i've attached, how can i keep "kali-linux" folder pinned as a sub-item?
      My Computer

  10. KeithM's Avatar
    Posts : 925
    Microsoft Windows 10 Home
       #30

    AuraticTrance said:
    Thank you for the solution..

    I'd created a special folder for some network share locations, but due to some reason i'm unable to double-click and open those folders, i'm assuming it may be something related with the file/folder permissions, is there a way i can modify permissions for my special folder?

    For reference, here is a screenshot
    Add specific folders to Navigation Pane-dir.png

    double-clicking on these folders does nothing.

    Also, is there a way to pin sub-items to these newly created custom items? for eg: in the pic i've attached, how can i keep "kali-linux" folder pinned as a sub-item?
    Hi. You're welcome. Happy to help, but need more info for troubleshooting. Appreciate the screenshot, but it doesn't reveal much but the folder names. I'm gussing it's a snip of the folders as they appear on the Desktop or in Explorer when viewing the Desktop

    Quetions:
    1. Are the folders appearinfg in the Navigation Pane as well?
    2. Did you generate unique CLSIDs for each folder?
    3. Did you create them under HKCU or HKLM?
    4. Afre they inserted into the Desktop Namespace under HKCU or HKLM?


    Please include in your reply:
    • Answers to above questions
    • Screenshot of context menu when right-clciking one of the folders
    • Registry exports of both newly-created GUID-named entries under HKCR:\CLSID
      My Computer


 
Page 3 of 4 FirstFirst 1234 LastLast

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 07:41.
Find Us




Windows 10 Forums