《Windows Shell编程指南与实例》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:萧秋水,文娟编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2000
  • ISBN:7505362739
  • 页数:307 页
图书介绍:本书的全部内容适合于Windows 9X,部分内容适合于Windows NT和Windows 2000,涉及到Shell编程的各个侧面,包括名字空间、Shell扩展处理程序、任务条通知区、应用程序任务条、屏幕保护程序等众多有趣话题。本书的一大特点是编程实例丰富,所附光盘中给出了许多源代码,同时书中给出了讲解。本书适合于进行Windows编程的中高级程序员,尤其是正在对Windows Shell进行扩展的程序员、VC6和Delphi的中高级用户及相关的爱好者。

第1章 从COM说起 1

1.1 为什么要使用COM技术 1

1.2 COM的几个基本概念 2

1.3 COM接口初探 3

1.4 说说GUID、CLSID、IID 4

1.5 COM服务器的形式 5

1.6 用MFC实现一个COM服务器的简单步骤 6

1.6.1创建一个MFC AppWizard(DLL)项目 7

1.6.2 声明组件和接口的GUID 7

1.6.4 声明组件类CTestSvr 8

1.6.3 声明组件和接口 8

1.6.5 实现类厂和接口映射 10

1.6.6 为嵌套类实现IUnknown接口 10

1.6.7 实现ITest接口的方法TestMethod 11

1.6.8 管理全局对象计数 11

1.6.9 实现一个客户应用程序 11

1.7 Delphi对COM的包装 13

1.7.1 创建一个ActiveX Library项目 14

1.7.2 为项目添加一个COM类 14

1.8 Windows Shell扩展的实质 17

2.1 Shell名字空间的使用 19

2.1.1 Shell名字空间的单一结构 19

第2章 Windows Shell名字空间 19

2.1.2 名字空间中元素的标识 20

2.1.3 Shell名字空间的漫游机制 20

2.1.4 Shell名字空间提供的接口 21

2.2 搭建一个真正的资源浏览器的框架 22

2.2.1 使用MFC AppWizard(exe)创建一个项目 22

2.2.2 修改程序的界面架构 22

2.2.3 将树型视图的根节点绑定到名字空间的根 26

2.2.4 介绍几个重要的辅助函数 30

2.2.5 当用户选中树型视图节点时,实现漫游 35

2.2.6 看看我们的框架 39

2.3 常用的参考信息 40

第3章 Windows Shell扩展 55

3.1 Shell扩展的基本概念 55

3.2 Shell扩展的分类 56

3.3 Windows Shell如何访问Shell扩展 57

3.4 编写Shell扩展的基本步骤 58

3.4.1 手工实现Shell扩展(无需编程) 59

3.4.2 需要编程实现的Shell扩展 64

第4章 拷贝钩子处理程序 67

4.1 拷贝钩子处理程序的使用 67

4.2 用VC 6实现一个拷贝钩子处理程序 67

4.2.1 创建一个空的DLL项目 68

4.2.2 为项目添加一个类CCopyHook 68

4.2.4 给DLL添加两个全局变量 70

4.2.3 为项目添加另一个类CCopyHookClassFactory 70

4.2.5 给DLL添加几个需要实现的标准函数 71

4.2.6 为类CCopyHook添加实现代码 71

4.2.7 为类CCopyHookClassFactory添加实现代码 74

4.2.8 实现DLL中的几个全局函数 76

4.2.9 为DLL添加一个DEF文件 78

4.2.10 编译链接该DLL项目生成CopyHook.dll 78

4.2.11 编辑该拷贝钩子处理程序的注册文件 78

4.2.12 测试该拷贝钩子处理程序 79

4.3 用Delphi 5来实现这个拷贝钩子 80

4.3.1 创建一个ActiveX Library项目 80

4.3.2 为项目添加一个COM类TMyCopyHook 81

4.3.3 实现TMyCopyHook 83

4.3.4 实现服务器的注册与反注册 84

4.3.5 编译链接并测试该拷贝钩子处理程序 85

4.4 常用的参考信息 86

第5章 上下文相关菜单处理程序 89

5.1 上下文相关菜单处理程序的使用 89

5.2 用VC 6实现一个上下文相关菜单处理程序 90

5.2.1 创建一个空的DLL项目 91

5.2.2 为项目添加一个类CContextMenuExt 91

5.2.3 为类CContextMenuExt添加实现代码 93

5.2.4 为类CContextMenuExt实现一个类工厂 101

5.2.7 编辑上下文相关菜单处理程序的注册文件 102

5.2.5 添加并实现DLL服务器的框架 102

5.2.6 编译链接该DLL项目生成ContextMenuExt.dll 102

5.2.8 测试该上下文相关菜单处理程序 103

5.3 Delphi 5的实现 103

5.3.1 创建一个ActiveX Library项目 103

5.3.2 为项目添加完成处理功能的COM类TContextMenu 104

5.3.3 实现TContextMenu 104

5.3.4 实现服务器的注册与反注册 109

5.3.5 编译链接并测试该上下文相关菜单处理程序 110

5.4 常用的参考信息 111

6.2.1 为项目添加一个类CDrapDropExt 119

6.2 用VC 6实现一个拖放处理程序 119

6.1 拖放处理程序的使用 119

第6章 拖放处理程序 119

6.2.2 为类CDrapDropExt添加实现代码 121

6.3 常用的参考信息 128

第7章 图标处理程序 131

7.1 图标处理程序的使用 131

7.2 用VC 6实现一个图标处理程序 132

7.2.1 创建一个空的DLL项目 133

7.2.2 为项目添加一个类CIconHandler 133

7.2.3 为项目添加需要的资源 136

7.2.4 为类CIconHandler添加实现代码 136

7.2.6 添加并实现DLL服务器的框架 140

7.2.5 为类CIconHandler实现一个类工厂 140

7.2.8 编辑该图标处理程序的注册文件 141

7.2.7 编译链接该DLL项目生成IconHandler.dll 141

7.2.9 测试该图标处理程序 142

7.3 Delphi 5的实现 143

7.3.1 创建一个ActiveX Library项目 143

7.3.2 为项目添加一个COM类TMyIconHandler 143

7.3.3 为DLL项目添加图标资源 145

7.3.4 实现TMyIconHandler 146

7.3.5 实现服务器的注册与反注册 148

7.3.6 编译链接并测试该图标处理程序 149

7.4 常用的参考信息 149

8.1 属性表处理程序的使用 153

第8章 属性表处理程序 153

8.2 用VC 6实现一个属性表处理程序 155

8.2.1 创建一个空的DLL项目 155

8.2.2 为项目添加一个类CPropSheetHandler 155

8.2.3 为项目添加需要的资源 156

8.2.4 为类CPropSheetHandler添加实现代码 157

8.3 常用的参考信息 165

第9章 放置处理程序 171

9.1 放置处理程序的使用 171

9.2 用VC 6实现一个支持特定文件类型拖放的程序 171

9.2.1 使用MFC AppWizard创建一个简单编辑器 172

9.2.2 分析AppWizard生成的程序框架 173

9.3 常用的参考信息 177

第10章 数据处理程序 181

10.1 数据处理程序的使用 181

10.2 常用的参考信息 181

第11章 任务条通知区 189

11.1 任务条通知区的管理机制 189

11.2 用VC 6更新任务条通知区 190

11.2.1 创建一个MFC AppWizard(exe)项目 191

11.2.2 为项目添加类CTrayNotifyIcon并对其进行分析 191

11.2.3 为项目添加一个辅助类CTrayRessurectionWnd 193

11.2.4 为类CTrayRessurectionWnd添加实现代码 194

11.2.5 为项目添加另一个辅助类CTrayTimerWnd 195

11.2.6 为类CTrayTimerWnd添加实现代码 196

11.2.7 为类CTrayNotifyIcon添加实现代码 198

11.2.8 为类CTrayNotifyIcon添加测试代码 205

11.3 Delphi 5的实现 206

11.3.1 组件的类别 206

11.3.2 建立组件的准备工作 207

11.3.3 组件的创建步骤 207

11.3.4 在Delphi中安装自定义的组件 209

11.3.5 创建TTrayIcon组件并为其添加成员 209

11.3.6 为TTrayIcon组件添加实现代码 212

11.4 常用的参考信息 221

11.3.7 安装TTrayIcon组件并在应用程序中进行测试 221

第12章 应用程序桌面任务条 223

12.1 应用程序桌面任务条的管理机制 223

12.1.1 桌面任务条的注册与删除 224

12.1.2 桌面任务条的状态 224

12.1.3 桌面任务条的外观 225

12.1.4 系统发给任务条的通知消息 225

12.2 用VC 6创建应用程序桌面任务条 226

12.2.1 创建一个MFC AppWizard(exe)项目 226

12.2.2 为项目添加类CAppBar并对其进行分析 227

12.2.3 为类CAppBar添加实现代码 228

12.3.1 创建TAppBar类并为其添加成员 246

12.3 Delphi 5中更为漂亮的实现 246

12.2.4 为类CAppBar添加测试代码 246

12.3.2 为TAppBar类添加实现代码 251

12.3.3 从TAppBar类派生自己的任务条 270

12.4 常用的参考信息 270

第13章 Windows Shell链接 273

13.1 Shell链接的使用 273

13.1.1 .lnk文件 274

13.1.2 IShellLink接口 274

13.2 用VC 6实现Shell链接 276

13.2.1 创建一个以对话框为基础的应用程序项目 276

13.2.3 添加核心代码 277

13.2.2 为项目添加必要的资源 277

13.3.1 创建一个普通的应用程序项目 279

13.3 Delphi 5的实现 279

13.3.2 创建程序自身的Shell链接 280

13.3.3 获取Shell链接存储的信息 281

13.3.4 测试应用程序 284

13.4 常用的参考信息 284

第14章 屏幕保护程序 285

14.1 屏幕保护程序的运行机制 285

14.2.1 创建一个普通的应用程序项目并调整其配置 287

14.2.2 为屏幕保护窗口创建一个基类CScreenSaverWnd 287

14.2 用VC 6创建一个屏幕保护程序 287

14.2.3 为配置对话框创建一个基类CScreenSaverDlg 293

14.2.4 从CScreenSaverWnd派生一个可用的屏保类CMySaver 295

14.2.5 实现屏幕保护程序的输出函数 299

14.2.6 添加需要的资源 302

14.2.7 编译链接并安装测试该屏幕保护程序 302

14.3 用VC6创建一个屏幕保护程序的管理程序 302

14.3.1 开始屏保 303

14.3.2 禁止/允许屏保 304

14.3.3 运行屏保 305

14.3.4 打开显示属性 306

14.4 用Delphi 5创建屏幕保护程序 307