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