【发布时间】:2011-04-19 14:14:50
【问题描述】:
我最近看到一篇关于 Windows 7 的新 Federated Search and Search Connectors 的文章。基本上,您为用户提供了一个小的 XML 文件(.osdx;一个 OpenSearch XML 文件),然后他们可以使用资源管理器搜索您拥有的任何内容。这些搜索连接器实际上很容易实现 - Explorer 通过查询调用您的 URL,您只需将结果作为 RSS 返回。
太好了。我目前正在开发一个网络应用程序,其中这种功能可能是提供给我的用户的一个不错的额外功能。所以我安装了示例 .osdx 并进行了尝试。它的工作原理与宣传的差不多:
(来源:msdn.com)
这很酷,但我希望我的搜索结果可以从“开始”菜单中获得。重点(在我看来)是在应用程序本身尚未打开时轻松、快速、直接地访问我的网络应用程序中的项目。如果我必须打开资源管理器窗口,请单击我的搜索连接器,然后搜索,这与仅打开浏览器并在 Web 应用程序中进行搜索有什么区别?
这是我尝试过的:
- .osdx 安装后,连接器保存为
%UserProfile%\Searches\name.searchConnector-ms。此文件夹中的其他项目包括 Outlook 的连接器。查看该文件,有一个非常有前途的节点,名为<includeInStartMenuScope>。我将这个值为true的节点添加到Channel 9 连接器,但没有运气。 (我什至尝试重新启动。) - 我遇到了year-old question that asks just about the same thing。接受的答案将我们引导至 Windows API 代码包,但它仅提供用于使用 Windows 搜索的类,而不是实现搜索提供程序。
- The registry trick from Scott Hanselman。但是,这 (a) 仅固定一个链接来运行搜索,而不是包含内联结果,并且 (b) 对我不起作用,因为我(也不能指望我的用户)拥有 Windows 7 Ultimate。
那么,如何为“开始”菜单的即时搜索提供项目?理想情况下,我只想配置要包含的搜索连接器的结果,但我不反对在 C# 中连接一些将安装在客户端计算机上的东西。
【问题讨论】:
-
+1 提出一个好问题。
标签: c# web-services search windows-7 startmenu