代码之家  ›  专栏  ›  技术社区  ›  Jamie

Windows Search-iFilter搜索词突出显示

  •  9
  • Jamie  · 技术社区  · 14 年前

    我的开发团队在Windows7中为自己的自定义文件显示搜索结果的文本片段时遇到问题(注意,我们不是在讨论使用ipreviewHandler界面的预览窗格)。下面是我对.txt文件的一个示例:

    这里显示的带有突出显示结果的文本片段不会显示给我们自己的文件,只有文件名是。

    我们已经为文件实现了一个ifilter,这是对文件内容的正确索引(搜索返回正确的结果)。它不会显示代码片段并突出显示搜索词。

    我们怀疑这可能与cwcstartsource和ifilter中stat块的cwclensource值有关,但是将这些值设置为不同的值到目前为止没有任何结果。

    有没有其他人有过类似的经历或想法?

    事先谢谢。

    Search example

    这里显示的带有突出显示结果的文本片段不会显示给我们自己的文件,只有文件名是。

    我们已经为文件实现了一个ifilter,这是对文件内容的正确索引(搜索返回正确的结果)。它不会显示代码片段并突出显示搜索项。

    我们怀疑这可能与cwcstartsource和ifilter中stat块的cwclensource值有关,但到目前为止,将这些值设置为不同的值不会产生任何结果。

    有没有其他人有过类似的经历或想法?

    事先谢谢。

    1 回复  |  直到 14 年前
        1
  •  5
  •   GalacticJello    14 年前

    您需要为您的文件类型生成一个预览处理程序。

    如果应用程序注册了预览处理程序,它还可以在预览窗格中呈现项目的增强预览,而不启动默认应用程序。这可以提供文件类型特定的导航(例如使用下一个/上一个控件浏览演示文稿,或在媒体文件中查找)等功能。[29]预览处理程序还可以允许从预览窗格本身执行某些类型的选择(例如突出显示文本片段)。

    source

    有一堆代码示例在pdf之类的文件中浮动。

    请看这里: CodePlex:Windows Preview Handler Pack

    编辑 :

    为了澄清这一点,Windows7中的搜索结果窗格是一个预览处理程序主机。它有两个主要部分:内容视图和预览窗格。

    Windows资源管理器还包括一个名为“内容视图”的视图模式,它是查看搜索结果时的默认视图。内容视图显示名称、位置、与文件关联的一些元数据标记、文件的缩略图和文件的片段。此视图模式还使用hit highlighting来显示查询词在文件中的显示位置,这使得很容易理解为什么在搜索结果列表中返回该文件。

    source

    如果需要增强功能(如查看自定义文件类型的文件内容),则需要对任何自定义文件类型使用预览处理程序。

    在Windows Vista和更高版本中,Windows Search集成到所有Windows资源管理器窗口中,以便即时访问搜索。

    预览处理程序和缩略图处理程序允许用户在Windows资源管理器中预览文档,而无需打开创建文档的应用程序。

    source

    要验证是否正确实现了自定义文件类型,可以尝试 File Type Verifier 从Windows 7 SDK,它将测试与自定义文件关联的以下内容:

    • 预览处理程序
    • 缩略图处理程序
    • 属性处理程序
    • 动词句柄
    • 过滤器(ifilter)
    • 善良的协会
    • 感知类型
    • 重要特性

    使用内容视图

    你可以利用内容 使用两种不同的视图 方法。您可以使用现有的 一组属性和布局模式, 或者你可以自己创造 组合。这两种方法是 详细描述:

    有关内容视图的概述,请参阅本文:

    Content View By File Type or Kind