Windows shell Windows shell是Microsoft Windows操作系统的圖形用戶界面Windows shell易於識別的元素包括桌面任務欄開始菜單任務切換器和自動播放等特徵在Windows VistaWindows 上還包括Flip D在Windows x上含有超级按钮栏Charms栏等功能在Windows 中Windows Shell Experience Host界面可以驅動視覺效果如開始菜單操作中心和任務欄Task ViewTimeline另外Windows shell還實現了一個shell命名空間該命名空間使Windows上運行的計算機程序能夠通過shell對象架构訪問計算機的資源桌面是層次結構的頂級對象在它之下有一些存儲在磁盤上的文件和文件夾以及一些內容為虛擬或動態創建的特殊文件夾如垃圾箱控制面板我的计算机我的网络位置等等 基本上讲Shell是由文件夹组成的文件夹是一个包含有子元素的容器包括子文件夹这些元素通常称为文件夹项根文件夹称为桌面其子项包括我的计算机网上邻居回收站和其他可能的项所有这些文件夹的集合称之为Shell的命名空间文件夹实际上是一个Shell对象它的行为被编码成一个COM模块向Windows Shell暴露公共的接口通过连接文件夹可以告诉Shell怎样设计它的内容使用什么样的图标显示采用什么文字来描述文件对象是一个包含在普通文件夹中的项文件记录内存块连接的设备等文件夹项文件夹元素和文件对象这些术语是等价的任何文件夹的内容都是通过一个对象调用Shell viewer显示在Windows explorerexe中的每一个文件夹都定义了他自己的Shell viewer对象并且所有相关于这个用户接口的任务都指派到这个对象上 从概念上讲桌面是所有Windows Shell对象的父对象即宿主对象就实现方式而言桌面是一个系统定义窗口类的特殊窗口命名为并且是所有窗口的祖先窗口那些导出应用的顶层窗口一般而言都是桌面的子窗口 主要的Windows Shell部件就是任务栏它实际上就是由explorerexe进程所拥有的一个窗口当终止explorerexe进程的时候都将引起任务条的消失和重新显现每当任务栏重新显现的时候它注册一个具有不同HWND的新窗口任务条拥有开始按钮的窗口在托盘区域有时钟和类似按钮的控件表示正在运行的应用任务条实际上与窗口一样可以在其上作任何窗口上可以做的操作如移动隐藏和子类化等 explorerexe是一个扮演着系统外壳角色的应用程序当说到外壳扩展的时候就是由explorerexe感知的装入的并最终执行的代码块explorerexe可以被看作为一个微型的窗口开发环境它有自己的函数和对话框允许写特殊的与已存在的体系集成的应用程序能包容应用和文档甚至可以解释任何活动的脚本兼容语言的脚本VBScriptJScriptPerl等等采用COM接口和进程内服务器实质上的DLL 在Win环境中与Shell唯一的通讯方式是通过动态数据交换DDE Shell API 函数