使用Windows 7集成编写名称空间扩展

我是新的主题shell扩展,我正在寻找有关命名空间扩展的资源。 我想写一个支持SFTP的命名空间扩展,所有的选项在浏览器中像FTP一样浏览。

我从codeproject上看了一下zengxi的例子1,2 ,但是他们编译不对,好像老了。 我认为,地址栏中的文件夹select也有很多变化。

有人可以给我一些正确的方向或一些工作的例子资源?

更新:重要的是来源是免费的。 这是一个非营利性项目。

目前我在MSDN上find了一个名为Explorer Data Provider Sample的好源代码。 这是最新的,并提供一些别名Explorer Data ProviderShell Data Source 。 还缺less的是拖放支持和一个支持协议链接的胶水。

对于将来的使用,find一种将文件扩展名与该压缩文件的shell data source相关联的方法是非常好的。

Solutions Collecting From Web of "使用Windows 7集成编写名称空间扩展"

以下是创建名称空间以在Flickr上映射实际文件的完整示例。 但是,只有源代码可用。 没有教程。 希望它可以帮助…. http://www.viksoe.dk/code/flickrdrive.htm

对于拖放, 这一系列的文章是一个很好的开始。 我了解到这些文件必须有标志可以复制,可以移动等,我几乎已经解决了。 神奇的是在GetAttributesOf添加一行:

 *rgfInOut |= SFGAO_CANCOPY|SFGAO_CANMOVE; 

另外我不得不像这样在GetUIObjectOf发布IDataObject

 if(riid == IID_IDataObject) { PWSTR pszName; hr = _GetName(apidl[0], &pszName); hr = SHCreateDataObject(m_pidl, cidl, apidl, new CFileDataObject(pszName), riid, ppv); } else if(riid == IID_IDropTarget) { // TODO publish return E_NOINTERFACE; } 

就这样。

顺便CFileDataObject在这里分配CFileDataObject的最佳做法是什么?

看看EZNamespaceExtensionsMFC库,这使得开发名称空间扩展变得非常容易。 查看它可以使用起点的FileBrowser和RegBrowser示例。

免责声明:我在EZNamespaceExtensionsMFC的开发者LogicNP Software工作