How to host a rooted namespace extension in Windows Explorer

谁都会走 提交于 2019-12-08 05:00:30

问题


There is a method to create a namespace extension rooted in a particular folder.

It involves creating folder with a name like:

My Custom NSE.{785EE551-DEE1-4F57-A8C9-0EF76F346A29}

And Windows Explorer will automatically host the NSE of that clsid at that location.

But for the life of me i cannot find the syntax anymore. It used to be on MSDN in the namespace extension documentation, and it listed the 3 ways to get your namespace into Windows Explorer - that this was one of them.

What's the syntax - it's driving me crazy!


回答1:


i found it. There are 3 ways to get your namespace extension into "My Computer"

Specifying a Namespace Extension's Location

a) Add entry to the registry

\Software
   \Microsoft
      \Windows
         \CurrentVersion
            \Explorer
               \(Virtual Folder Name)
                  \Namespace
                     \{785EE551-DEE1-4F57-A8C9-0EF76F346A29}

Where "Virtual Folder Name" can be one of

  • MyComputer
  • Desktop
  • ControlPanel
  • NetworkNeighborhood
  • NetworkNeighborhood\EntireNetwork
  • RemoteComputer

b) Create a folder named

My Custom NSE.{785EE551-DEE1-4F57-A8C9-0EF76F346A29}

c) Create a read-only system folder, create a desktop.ini file, and to it add:

[.ShellClassInfo]
CLSID={785EE551-DEE1-4F57-A8C9-0EF76F346A29}

You can also host the shell namespace extension in a separate copy of explorer:

%SystemRoot%\Explorer.exe /e,::{785EE551-DEE1-4F57-A8C9-0EF76F346A29}


来源:https://stackoverflow.com/questions/279336/how-to-host-a-rooted-namespace-extension-in-windows-explorer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!