9

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

搜索示例

此处显示的带有突出显示结果的文本片段未针对我们自己的文件显示,仅显示文件的名称。

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

我们怀疑这可能与 IFilter 中 STAT_CHUNK 的 cwcStartSource 和 cwcLenSource 值有关,但是将它们设置为不同的值到目前为止没有产生任何结果。

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

提前致谢。

4

1 回答 1

5

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

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

来源

有一堆代码示例用于 PDF 等。

看看这里:CodePlex:Windows Preview Handler Pack

编辑

澄清一下,Windows 7 中的搜索结果窗格是一个预览处理程序宿主。它有两个主要部分:内容视图和预览窗格。

Windows 资源管理器还包括一种称为内容视图的视图模式,这是查看搜索结果时的默认视图。内容视图显示名称、位置、与文件关联的一些元数据标签、文件的缩略图和文件的片段。此视图模式还使用命中突出显示来显示查询词出现在文件中的位置,这样可以很容易地理解为什么该文件会在搜索结果列表中返回。

来源

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

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

...

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

来源

要验证您是否正确实现了自定义文件类型,您可以尝试 Windows 7 SDK 中的文件类型验证程序,它将测试与您的自定义文件相关的以下内容:

  • 预览处理程序
  • 缩略图处理程序
  • 属性处理程序
  • 动词处理程序
  • 过滤器 (IFilter)
  • 种类协会
  • 感知类型
  • 重要属性

使用内容视图

您可以通过使用两种不同方法中的任何一种来利用内容视图。您可以使用现有的一组属性和布局模式,也可以创建自己的组合。详细介绍这两种方法:

有关内容视图的一般概述,请参阅这篇文章:

按文件类型或种类查看内容

于 2010-10-19T18:07:40.357 回答