Windows 总共支持七种 Shell 扩展程序,
它们分别是:
拷贝钩子处理程序(Copy Hook Handler)
上下文相关菜单处理程序(Context Menu Handler)
拖放处理程序(Drap-and-Drop Handler)
图标处理程序(Icon Handler)
属性表处理程序(Property Sheet Handler)
放置处理程序(Drop Target Handler)
数据处理程序(Data Object Handler)

拷贝钩子处理程序是一种较为简单的 Shell 扩展,借助它 Windows 系统可以允许或不允许用户对某个文件对象进行移动、拷贝、删除或改名等操作。
 
      使用上下文相关菜单处理程序可以修改 Windows  Shell 中上下文相关菜单的内容。所谓上下文相关菜单,即当用户用鼠标的 2 号按钮(一般是鼠标右键)单击或拖动某个对象时系统显示的一个弹出式菜单。如果不加扩展,Windows 在上下文相关菜单中将只包含对被单击或拖动的对象适用的命令。

拖放处理程序实际上执行的也是一些上下文相关菜单的处理。当用户将某个对象拖至一新位置后放下时系统将调用它们。

属性表处理程序同样涉及到上下文相关菜单。大多数上下文相关菜单中都包含有一项属性(Properties)命令,选择该命令将显示选定对象的属性表。属性表由一些被称为标签页(page)的重叠窗口组成,其中含有某个对象的有关信息。属性表处理程序的作用就在与此,它可以向系统已定义的属性表中加入一些自定义的标签页,或者取代控制面板应用程序的属性表中的某些页。

图标处理程序管理的是代表文件对象的图标。在 Shell 的名字空间中,系统用图标来代表文件。缺省情况下,对有相同扩展名的文件,系统将使用相同的图标。图标处理程序可以使此缺省设置无效,并可给感兴趣的任何特定的文件对象设置不同的图标。当然,它也可以给属于同一类的所有文件增加与系统默认值不同的图标。

数据处理程序在系统中的对象发生拖动操作时起作用,它们提供可以传给 OLE DoDragDrop 函数的与特定类型相关的 IDataobject 接口。

放置处理程序也与系统的拖放支持有关,它可以为那些能接收拖放对象的文件增加某些特定种类的拖动行为。

按照它们的功能,这七种 Shell 扩展程序可以分成两组,第一组扩展程序包括上下文相关菜单处理程序、图标处理程序、数据处理程序、属性表处理程序和放置处理程序,它们可以用于每一种类型的文件。第二组 Shell 扩展程序则与系统的文件操作(如移动、拷贝、改名等等)相联系,包括拷贝钩子处理程序和拖放处理程序。

转载于:https://www.cnblogs.com/wy_rover/archive/2005/08/25/222287.html

Shell 扩展的分类相关推荐

  1. 通过SharpShell快速实现Windows Shell扩展

    在.NET 4引入了CLR in-process side-by-side特性后,我们也可以通过C#编写Windows Shell了.我们可以在微软的All-In-One Code Framework ...

  2. overflow鼠标拖拽显示_[翻译] 从零开始的 .Net Shell 扩展教程 (四) - Shell 拖拽处理程序

    Vukr:[翻译] 从零开始的 .Net Shell 扩展教程 (三) - Shell 提示处理程序​zhuanlan.zhihu.com 使用 .Net 快速创建 Shell 拖拽处理程序 介绍 S ...

  3. Shell扩展正则表达式练习1——电话号码过滤

    Shell扩展正则表达式练习1--电话号码过滤 国内电话号码目前一般采用区号+7位或8位阿拉伯数字组成,为了尽可能达到练习的目的,自己添加一些规则:①3位区号:如北京010,上海021,西安029,这 ...

  4. Delphi实现shell扩展

    本文转自 xkdcc 51CTO博客,原文链接:http://blog.51cto.com/brantc/116484,如需转载请自行联系原作者转贴自网上余昊 的pdf格式,经过自己的整理,放于此共享 ...

  5. 常用的GNOME Shell 扩展

    GNOME Shell(即GNOME 3)桌面环境最初进军Linux世界时,众多批评人士指出其灵活性有所欠缺.当初外观有所突破的GNOME确实会给生产效率带来一些影响,然而它多年来一直默默通过多种方式 ...

  6. Windows Shell 扩展编程 第十五章

    转自:http://blog.csdn.net/chchzh/article/details/4597866 第十五章 SHELL扩展 谈到Windows Shell编程,Shell扩展是最重要的科目 ...

  7. linux扩展两个桌面,经验分享:九大GNOME Shell扩展助您定制桌面Linux

    原标题:经验分享:九大GNOME Shell扩展助您定制桌面Linux 每位用户在首次设置新计算机时,都会进行有针对性的自定义--包括切换桌面环境.安装终端shell.选择自己喜欢的浏览器或者更改壁纸 ...

  8. 【转】Windows Shell扩展编程傻瓜手册大全:上下文菜单扩展

    引用自: http://blog.163.com/yesaidu@126/blog/static/51819307200861853827582/ Part I: A step-by-step tut ...

  9. 001 扩展传感器分类介绍

    001 扩展传感器分类介绍   乐高官方发行版本的传感器相当有限,而市场相当火爆的创客传感器器就很多,比如arduino,树莓派等很多开源传感器.既然乐高EV3开源了软硬件,那么是不是也可以把电子电路 ...

最新文章

  1. NDK/JNI demo ( 五 ) ORB_SLAM2在Android上的移植过程
  2. 苹果xsmax怎么开机_苹果XSMAX进水不开机维修
  3. Python多线程的两种实现方式
  4. 微信基于时间序的海量存储扩展性与多机容灾能力提升
  5. 飞桨模型保存_史上最全解读|飞桨模型库重大升级,主流算法模型全覆盖
  6. 点击了SAP CRM HANA report超链接,背后都发生了什么
  7. 使用GetValue和SetValue来设置属性
  8. oracle merge into where,Oracle merge into语法简介
  9. 统计机器学习导论第四章答案
  10. 《郝斌C语言自学教程》课程大纲
  11. python 中的拷贝、浅拷贝与深拷贝
  12. eclipse 里边的 字体颜色代表了什么意思?
  13. 未转变者服务器.id大全,Unturned未转变者Elver最新地图ID汇总 2021最新版ID大全
  14. iOS 5 故事板进阶(4)
  15. arduino 嗡鸣器 音乐_arduino笔记一:用arduino实现蜂鸣器播放音乐
  16. MULTIPLE SPRING BOOT RUN CONFIGURATIONS WERE DETECTED. RUN DASHBOARD ALLOWS TO【已解决】
  17. PPT文件不能编辑如何解决?
  18. 为何学习Python?这是我看到的最好回答
  19. 12张图带你轻松了解 calico 6种场景下宿主机和pod互访的iptables规则链流转情况【下】
  20. IP是如何代理的_怎么设置IP代理

热门文章

  1. SQL 中OPENQUERY的使用
  2. 【开发经验】在Flutter中使用dart的单例模式
  3. 案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表
  4. jetty9优化的两处地方
  5. 新生赛3 1003 字符串最小表示法题目
  6. ssh 使用公钥登录客户端设置
  7. Apache Commons Pool试用小记
  8. vista的启动修复........
  9. 109. 有序链表转换二叉搜索树
  10. 9-10 原生安装 2