Как мне написать пользовательский поисковый провайдер для интерфейса поиска Windows Explorer - PullRequest
6 голосов
/ 20 апреля 2011

Я работаю над расширением пространства имен Windows Explorer, которое является виртуальной файловой системой.Что касается этого, я хотел бы поддержать поиск из диалогового окна поиска, доступного в проводнике Windows.

В настоящее время я могу искать по имени в папке, в которой я нахожусь, но я бы хотел бытьвозможность выполнять поиск по всей структуре, а также по содержимому виртуальной файловой системы, и, поскольку Windows Explorer не может этого сделать, мне нужно подключить пользовательский поставщик поиска.

Поскольку это виртуальная файловая система, она будетполезно, если бы я мог написать пользовательский интерфейс для отображения результата, но это не обязательно.

Пользовательское расширение пространства имен Explorer написано на C #, но API не нужно переносить.Будем благодарны за любые ссылки на документацию API, коммерческие продукты и / или образцы.

1 Ответ

2 голосов
/ 29 апреля 2011

Если вы используете defview в качестве вида оболочки, верните FWF_USESEARCHFOLDER в IFolderViewSettings :: GetFolderFlags.Пример реализации можно найти по адресу http://regnamespace.codeplex.com/.

С http://msdn.microsoft.com/en-us/library/bb331575(v=vs.85).aspx: если ваша реализация IShellFolder не использует SHCreateShellFolderView для создания DefView, для объекта представления Shell может потребоваться IFolderView.

Существует также сбитый с толку пользователь, которому необходимо поддерживать поиск в папке расширений пространства имен оболочки в диалоговых окнах файлов .

...