Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows 7“开始”菜单搜索的自定义源_C#_Web Services_Search_Windows 7_Startmenu - Fatal编程技术网

C# Windows 7“开始”菜单搜索的自定义源

C# Windows 7“开始”菜单搜索的自定义源,c#,web-services,search,windows-7,startmenu,C#,Web Services,Search,Windows 7,Startmenu,我最近看到一篇关于Windows7新版本的文章。基本上,您为用户提供一个小的XML文件(.osdx;一个OpenSearchXML文件),然后他们可以使用Explorer搜索您所拥有的任何内容。这些搜索连接器实际上很容易实现——Explorer通过查询调用您的URL,您只需将结果作为RSS返回即可 太好了。我目前正在开发一个web应用程序,在这个应用程序中,这种功能可能是一个很好的额外功能,可以提供给我的用户。所以我安装了sample.osdx并进行了试用。它的工作原理与广告宣传的差不多: (

我最近看到一篇关于Windows7新版本的文章。基本上,您为用户提供一个小的XML文件(.osdx;一个OpenSearchXML文件),然后他们可以使用Explorer搜索您所拥有的任何内容。这些搜索连接器实际上很容易实现——Explorer通过查询调用您的URL,您只需将结果作为RSS返回即可

太好了。我目前正在开发一个web应用程序,在这个应用程序中,这种功能可能是一个很好的额外功能,可以提供给我的用户。所以我安装了sample.osdx并进行了试用。它的工作原理与广告宣传的差不多:


(来源:)

这很酷,但我希望我的搜索结果可以从“开始”菜单中找到。在我看来,关键是当我的web应用程序本身还没有打开时,可以轻松、快速、直接地访问其中的项目。如果我必须打开浏览器窗口,单击我的搜索连接器,然后进行搜索,那么只打开浏览器并在web应用程序中进行搜索有什么区别

以下是我尝试过的:

  • 安装.osdx后,连接器将另存为
    %UserProfile%\Searches\name.searchConnector ms
    。此文件夹中的其他项目包括Outlook的连接器。查看该文件,有一个非常有前途的节点,名为。我将这个值为
    true
    的节点添加到通道9连接器,但没有成功。(我甚至尝试重新启动。)
  • 我遇到了一个问题。公认的答案将我们引向Windows API代码包,但它只提供用于使用Windows Search的类,而没有实现搜索提供程序
  • 。但是,这(a)只固定了一个链接来运行搜索,而不是内联搜索结果,(b)对我不起作用,因为我(也不能期望我的用户)使用Windows7 Ultimate

那么,如何为“开始”菜单的即时搜索提供项目?理想情况下,我只想将搜索连接器的结果配置为包含在内,但我并不反对将安装在客户端计算机上的C语言连接起来。

传统上,扩展Windows搜索的方法是通过允许Windows理解新类型的文件。这种方法肯定会将您与“开始”按钮结果联系在一起

在本例中,您正在处理,这使得在线内容的行为就像它出现在用户的计算机上一样

不幸的是,我找不到任何明显能解决你问题的方法。因此,您可能需要在两个部分中构建一个kludge:

  • 搜索结果的IFilter(例如,“*.C9”文件)
  • 以“C9”结尾的文件
  • 顺便说一句,如果您对术语“IFilter”进行web搜索并转到前几个搜索结果,您可能会认为由于页面顶部有注释,IFilter不再使用

    如果发生这种情况,那么您就在旧IFilter站点。有关此主题的MSDN文档的当前URL位于

    最后一点警告:

    在Windows 7及更高版本中,以托管代码编写的筛选器被显式阻止。由于运行多个加载项的进程可能存在CLR版本控制问题,因此必须使用本机代码编写筛选器


    +一个很好的问题。