Windows 2000 UI 新特点之三:搜索管理器

2016-01-29 11:50 4 1 收藏

Windows 2000 UI 新特点之三:搜索管理器,Windows 2000 UI 新特点之三:搜索管理器

【 tulaoshi.com - C语言心得技巧 】

Windows 2000 UI 新特点之三:搜索管理器

原文参见:MSDN Magazine March 2000


编译/赵湘宁

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

第一部分 Windows 2000 UI 新特点之一:信息条提示(Infotip)
第二部分 Windows 2000 UI 新特点之二:自定义文件夹栏目

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com) 本文源代码


摘要:本文是关于Windows 2000 UI 新特点系列文章的第三篇,将创建一个简单的对象搜索管理器扩展(Search Handler)。
    搜索处理是与外壳的用户接口集成在一起的一个模块,允许您查找对象,如:文件、打印机、网络计算机和消息等。从"开始"菜单进入"搜索"子菜单(在以前的Windows版本中,这个菜单叫做"Find"或“查找”,现在为"Search"或“搜索”),可以进入对象的搜索处理。在Windows 2000 之前,资源浏览器的"工具"菜单中包含着一个相同的子菜单副本,对这种功能提供了一种可选择的访问方式。
   到了Windows 2000,资源浏览器通过一个联合对象实现其自己搜索面板。想要添加自己的搜索面板,必须自己编写一个新的联合对象。关于联合对象描述将在另外的文章中专门来讨论,这里只是提出这个概念和方法。新的搜索面板完全基于DHTML,并且完全代替了Windows 2000 以前的"查找(Find)"对话框。您可以使用与在Windows 9x 或 Windows NT下相同的方法和代码来运行它:
        ShellExecute(NULL, "find", NULL, NULL, NULL, 0);  
    上面的代码只是运行“搜索”功能,要想在"搜索"菜单中增加一个新的菜单项,那完全是另外一回事,“搜索”菜单读取注册表下列路径入口:
HKLM  SOFTWARE    Microsoft      Windows        CurrentVersion          Explorer            FindExtensions
    有两种类型的菜单项:静态和动态。静态菜单项只有在需要时被加载,而动态扩展被绑定到外壳的生命周期中,它在外壳启动时被加载,在外壳进程结束时被终止。一般情况下,只需要写一个静态扩展。动态扩展必须要在上面所述的节点处注册。静态扩展必须在一个叫做"Static"的公共键下被分组,被放在"FindExtensions"下。
什么是搜索处理器呢?它是一个非常简单的上下文菜单外壳扩展类型。为了编写一个搜索处理器,只要写一个上下文菜单外壳扩展的框架即可。也就是说,您必须实现IContextMenu 和IShellExtInit。ICcontextMenu 暴露三个函数:第一个是QueryContextMenu,用于增加一个或更多的菜单项;第二个是GetCommandString,为用于提供描述;第三个是InvokeCommand,负责执行代码响应用户的点击。对一个搜索处理器而言,只需要InvokeCommand,其它两个函数可以忽略。

图九 使用 Find Process 搜索管理器

    图九是一个"Find Process"搜索处理器的运行时例子。Windows 2000也支持ToolHelp API来获得关于运行进程和模块的系统信息。Windows 9x支持ToolHelp,但Windows NT 4.0不支持ToolHelp(Windows NT 4.0中使用另外一个API:PSAPI)。详细信息请参考本文源代码。

来源:http://www.tulaoshi.com/n/20160129/1483580.html

延伸阅读
标签: 电脑入门
Windows 8系统core版又称作Win8系统核心版,这个版本适用于台式机和笔记本用户以及普通家庭用户。对普通用户来讲,Windows 8就是最佳选择。包括全新的Windows商店、文件资源管理器(原Windows资源管理器)、任务管理器等等,还将包含以前仅在企业版/旗舰版中才提供的功能服务。针对中国等新型市场,微软将提供本地语言版Win8,即Win8中文版。 W...
Windows系统任务管理器,大家应该都不陌生了。估计更多的朋友是当执行程序时遇到卡死而不得不通过 Ctrl+Alt+Delete 启动任务管理器去结束程序,另外就是通过任务管理器来查看当前系统的资源占用情况,比如CPU、内存等的资源占用。在Windows 8系统里,任务管理器也有了很大的变化,相比较Win7而言,更加人性化和智能,并且在界面操作和功能设置...
标签: ASP
  附录:数据结构及测试数据 数据库说明 ID:节点ID NodeName:节点名称     BrotherNode:兄弟节点,当前节点的下一个兄弟节点的ID SonNode:子节点,当前节点的第一个子节点的ID 测试数据 ID        NodeName        ParentNod...
标签: windows系统
巧用Windows 8的多功能任务管理器   Win8的任务管理器很实用,它不仅可以查看进程,还能变身为资源监视器,用图表的方式显示系统资源消耗,帮你找出霸占网络或内存资源的大户。硬件如硬盘使用情况或软件运行状态,实时监控尽掌握。你知道怎么打开它吗? Windows 8系统如何开启与禁用管理员账户方法   一、启用管...
标签: 电脑入门
Windows 8 中第一次打开任务管理器时是一个与 Windows 7 完全不同的界面,简略信息模式,此模式相当于 Windows 7 的应用程序标签,此时只显示现在运行的程序,若是有程序处于未响应状态,则会在程序后面有红色的提示,可以让用户一眼就定位到相应的程序。 之后点击详细信息,则会呈现一个完整的任务管理器。 首先在进程标签页,做的最大...

经验教程

549

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部