首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

在VisualStudio中使用Windows桌面搜索

  为什么不对工具窗口重用 View 命令图标?命令和工具窗口图标的透明度要求有所不同。Visual Studio 命令图标使用透明石灰绿色 (0,255,0 RGB),而工具窗口图标使用透明品红色 (255,0,255 RGB)。

  常见的工具窗口创建方法是在加载项加载时或命令执行响应时创建工具窗口。之后,您应保留工具窗口引用直至加载项卸载为止,而不是创建新的工具窗口实例。您还应提供一个“视图”菜单项来显示工具窗口,以防用户将其关闭。如果将其关闭,工具窗口引用应继续为活动状态,并且仍可使工具窗口可见。

“选项”对话框页面

  工具窗口创建完成后,您可以为加载项提供一些配置选项,如图 3 所示。首先创建一个名为 WDSToolsOptions 的新类库,然后向其中添加一个名为 OptionsPage 的新用户控件。

.

图 3 工具“选项”对话框页面

  要添加“选项”对话框支持,您需要在新的用户控件上实现 IDTToolsOptionsPage 接口,其过程相当简单。此处只需要两个接口方法。OnAfterCreated 方法用于从注册表中读取以前保存的配置选项,并相应的更新 UI。OnOK 方法用于将 UI 选项保存到注册表。您可以通过一个静态的 Settings 类来保存所有配置选项,以避免频繁读取注册表。您可以在此文档的代码下载中查看这些实现。

  最后一步是设置加载项,以使用新的选项页面程序集。.addin XML 配置文件是进行此步骤的最好选择,新的 Visual Studio 2005 加载项部署功能简化了加载项的安装并消除了基于注册表注册的需要。以下是使用加载项配置“选项”页面所需的全部代码:

以下是引用片段:
<ToolsOptionsPage>
   <Category Name="Windows Desktop Search">
      <SubCategory Name="General">
         <Assembly>[Path-To-Addin]\WDSToolsOptions.dll</Assembly>
         <FullClassName>WDSToolsOptions.OptionsPage</FullClassName>
      </SubCategory>
   </Category>
</ToolsOptionsPage>

  如您所见,您只需告诉 Visual Studio 加载哪些程序集以及该程序集中的哪些类名称用于“选项”页面即可。请注意,建议将第一个子页面命名为 General,以遵循标准的 Microsoft 页面命名约定。

  .addin 文件中还包含加载项的所有“关于”对话框信息,包括图标。为加载项创建的默认图标是一个二进制编码字符串,这便很难进行修改,因此最好使用资源文件图标取而代之。

  是否还记得您第一次创建加载项时添加的资源文件?对于“关于”对话框,您可以创建一个名为 AboutIcon 的新的 32×32 图标,并将其添加到 WDSAddin.en 资源文件中。通过 .addin 配置文件可以从附属程序集加载图标,并用其资源 ID 来代替二进制编码字符串:

以下是引用片段:
<AboutIconData>@AboutIcon</AboutIconData>

  Windows Desktop Search SDK

  通过简单的 COM API 可查询被 Windows 桌面搜索编入索引的信息。ISearchDesktop 接口上只有两个公共方法:ExecuteSQLQuery 和 ExecuteQuery。ExecuteSQLQuery 用于对底层索引存储执行符合语法的 SQL 查询。另一方面,ExecuteQuery 更加用户友好,并且其查询字符串在语法上与通过 Windows 桌面搜索查询输入框提供的字符串相匹配。以下代码显示如何定义 ExecuteQuery 方法:

以下是引用片段:
  HRESULT ExecuteQuery(LPCWSTR lpcwstrQuery, LPCWSTR lpcwstrColumn,
  LPCWSTR lpcwstrSort, LPCWSTR lpcwstrRestriction, Recordset **ppiRs);

  图 4 中解释了 ExecuteQuery 参数。如您所见,前四个参数是不同的字符串输入值,它们可控制查询和结果集,而最后一个参数可控制输出结果集。

 

上一页  [1] [2] [3] [4] [5] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航