我正在使用Windows Explorer命名空间扩展,它是一个虚拟文件系统。关于此,我想支持Windows资源管理器中提供的搜索对话框中的搜索。
目前,我可以在我所在的文件夹中按名称搜索,但是我希望能够在整个结构中以及虚拟文件系统的内容中进行搜索,并且由于Windows资源管理器无法执行此操作,因此我需要 Hook 自定义搜索提供程序。
由于它是一个虚拟文件系统,因此如果我可以编写一个自定义的UI来显示结果,那将是有益的,但这不是强制性的。
自定义资源管理器 namespace 扩展是用C#编写的,但不需要包装API。指向API文档,商业产品和/或示例的任何指针将不胜感激。
最佳答案
如果使用defview作为 shell View ,请在IFolderViewSettings::GetFolderFlags中返回FWF_USESEARCHFOLDER。可以在http://regnamespace.codeplex.com/中找到示例实现。
从http://msdn.microsoft.com/en-us/library/bb331575(v=vs.85).aspx:
如果您的IShellFolder实现不使用SHCreateShellFolderView创建DefView,则Shell View 对象可能需要IFolderView。
There is also confused user who need to support shell namespace extension folder searching in file dialogs。