WEB开发网
开发学院软件开发VC 在VisualStudio中使用Windows桌面搜索 阅读

在VisualStudio中使用Windows桌面搜索

 2007-03-15 21:46:43 来源:WEB开发网   
核心提示: 将最后一次执行的选定保存在私有字段中,检索 TextSelection.Text 后,在VisualStudio中使用Windows桌面搜索(10),请检查当前选定文本是否与上次文本查询有所不同,如果相同,Windows 桌面搜索可依此识别项目类型,列表视图分组是 .NET Framewo

将最后一次执行的选定保存在私有字段中。检索 TextSelection.Text 后,请检查当前选定文本是否与上次文本查询有所不同。如果相同,就不必重新执行,只需退出该方法即可。

您还应按照 选项对话框页面中的配置,检查选定文本是否满足最低选定文本要求。选定的文本至少应包含三个执行查询的字符,即针对用户选择的性能保障,例如,如果只输入一个字母 A,Windows 桌面搜索将返回数千个条目。

如果一切正常,将使用要搜索的文本设置查询工作线程(以前定义的 WDSQueryWorker 类),并且会调用它的 DoWork 方法。ExecuteQuery 方法结束时,计时器将重新启动(如果事先是运行的)并且处理字段将重新设置为“false”。结果列表视图将被清除,更新状态也将被更改,从而显示“Searching…”。

查询工作线程的 DoWork 方法将设置一个事件,用于执行一次查询。当然,所有这些工作都可以在次级线程上执行。当查询完成时,该方法将回调到主线程。回调委托恰好支持 ToolWindowUserControl。其中的 QueryCompleted 方法将只调用 DisplayResults 来更新结果列表视图。如果查询失败,它还会调用 ToolWindowUserControl 的 QueryError 方法。根据“选项”对话框页面中的配置,QueryError 可显示错误消息或无提示地忽略错误。

DisplayResults 方法将收到一个 _Recordset 参数。如果重新调用,Windows Desktop Search SDK ExecuteQuery 方法就会返回该参数。DisplayResults 将遍历结果,每次提取一行。它可以根据预定义的一组查询字段检索列值,并更新相应的列表视图列。它还可以根据 PerceivedType 列对项目进行分组,Windows 桌面搜索可依此识别项目类型。列表视图分组是 .NET Framework 2.0 的新功能,无法在 Windows XP 之前的系统上运行。

上一页  5 6 7 8 9 10 

Tags:VisualStudio 使用 Windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接