Пользовательский источник для Windows 7 Поиск меню Пуск
Недавно я наткнулся на статью о новых федеративных соединителях поиска и поиска в Windows 7. По сути, вы предоставляете пользователям небольшой XML-файл (.osdx; XML-файл OpenSearch), и они могут затем использовать проводник для поиска того, что у вас есть. Эти поисковые соединители на самом деле очень просты в реализации - проводник вызывает ваш URL с запросом, и вы просто возвращаете результаты в виде RSS.
Отлично. В настоящее время я работаю над веб-приложением, в котором подобная функциональность может быть хорошей дополнительной функцией для моих пользователей. Поэтому я установил образец.osdx и опробовал его. Это работает в значительной степени, как рекламируется:
Это круто, но я хочу, чтобы мои результаты поиска были доступны из меню "Пуск". Смысл (на мой взгляд) в том, чтобы сделать элементы моего веб-приложения простыми, быстрыми и доступными напрямую, когда само приложение еще не открыто. Если мне нужно открыть окно проводника, щелкните "Мой коннектор поиска" и затем выполните поиск. В чем отличие от простого открытия браузера и выполнения поиска в веб-приложении?
Вот что я попробовал:
- После установки.osdx Connector сохраняется как
%UserProfile%\Searches\name.searchConnector-ms
, Другие элементы в этой папке включают Соединитель Outlook. Глядя на этот файл, есть очень многообещающий узел с именем<includeInStartMenuScope>
, Я добавил этот узел со значениемtrue
к разъему 9 канала, но не повезло. (Я даже попытался перезагрузить.) - Я наткнулся на летний вопрос, который задает примерно то же самое. Принятый ответ направляет нас к пакету кодов Windows API, но он предоставляет только классы для использования поиска Windows, а не для реализации поставщика поиска.
- Уловка реестра от Скотта Хансельмана. Тем не менее, это (а) закрепляет только ссылку для запуска поиска, а не включает в себя результаты, встроенные, и (б) не работает для меня, так как у меня (и я не могу ожидать, что мои пользователи) будет иметь Windows 7 Ultimate.
Итак, как мне предоставить элементы для мгновенного поиска в меню "Пуск"? В идеале я хотел бы просто настроить результаты поиска в коннекторе поиска, но я не против подключить что-то в C#, которое будет установлено на клиентском компьютере.
1 ответ
Традиционно, способ расширить поиск Windows был через IFilters, которые позволяют Windows понимать новые типы файлов. Такой подход наверняка свяжет вас с результатами кнопки "Пуск".
В этом случае вы имеете дело с федеративным поиском, который заставляет онлайн-контент действовать так, как если бы он присутствовал на компьютере пользователя.
К сожалению, я не могу найти ничего, что решило бы вашу проблему. Следовательно, вам может понадобиться построить кладж из двух частей:
- IFilter для ваших результатов поиска (скажем, файл "*.C9").
- Файл, оканчивающийся на "C9".
Кстати, если вы выполняете веб-поиск по термину "IFilter" и переходите к первым нескольким результатам поиска, вы можете подумать, что IFilter больше не используются из-за примечания в верхней части страницы.
Если это произойдет, то вы на старом сайте IFilter. Текущий URL-адрес документации MSDN по этой теме находится по адресу http://msdn.microsoft.com/en-us/library/bb266451(v=VS.85).aspx.
Последнее предупреждение:
В Windows 7 и более поздних версиях фильтры, написанные в управляемом коде, явно блокируются. Фильтры ДОЛЖНЫ быть написаны в собственном коде из-за потенциальных проблем с версиями CLR в процессе, в котором работают несколько надстроек.