《Windows NT Win 32软件开发使用详解》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:吴华,岳晋生等编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1995
  • ISBN:7505321099
  • 页数:576 页
图书介绍:

目录 1

第1章系统服务介绍 1

1.1概述 1

1.2Win32扩展 1

1.2.1多线程进程结构 1

1.2.2连续地址空间 1

1.2.3可移值的32位函数 2

1.3基本功能概述 2

1.3.1原子管理函数 2

1.3.2通信设备函数 2

1.3.3字符方式应用程序的支持 3

1.3.4调试工具的支持 4

1.3.5对动态连接库的支持 4

1.3.6环境 5

1.3.7事件日志 5

1.3.8异常处理 5

1.3.9文件I/O函数 6

1.3.10句柄/对象管理 7

1.3.11映射文件 8

1.3.12初始文件函数 8

1.3.14内存管理函数 9

1.3.13安装/压缩 9

1.3.15模块管理函数 11

1.3.16管道 12

1.3.17进程和线程 12

1.3.18注册 13

1.3.19资源管理函数 13

1.3.20安全性 14

1.3.21段管理函数 16

1.3.22声音 16

1.3.23同步 16

1.3.25局部线程的存储空间 17

1.3.24时间 17

1.3.26版本管理 18

第2章内存管理 19

2.1关于内存 19

2.1.1Global和Local函数 19

2.1.2标准C库 20

2.1.3堆栈函数 20

2.1.4虚拟函数 20

2.1.5关于共享内存 20

2.1.6使用虚拟函数 21

2.1.7为共享内存使用文件映射 23

2.1.8使用堆栈函数 25

2.2小结 25

2.2.1虚拟函数 25

2.2.2堆栈函数 26

2.2.3文件映射函数 26

第3章进程和线程 27

3.1关于多任务 27

3.1.1进程和线程 27

3.1.2调度 28

3.2使用线程 29

3.2.1创建线程 29

3.2.2挂起线程的执行 30

3.2.3多线程的同步执行 31

3.2.4终止线程 31

3.2.5多线程和GDI对象 32

3.2.6实例:多线程MDI 32

应用程序 32

3.3.1命令行参数 38

3.3.2创建标志 38

3.3创建子进程 38

3.3.3继承性 39

3.3.4环境变量 40

3.3.5启动信息 41

3.3.6实例:有重定向I/O的子进程 42

3.4控制进程和线程的优先权 46

3.4.1进程函数 47

3.4.4STARTUPINFO标志 48

3.4.5创建标志 48

3.4.3调试函数 48

3.4.2线程函数 48

3.4.6线程优先权常数 49

3.4.7进程优先权常数 49

3.4.8结构 49

第4章同步 50

4.1介绍 50

4.1.1关于同步对象 50

4.1.2进程间同步 50

4.1.3单个进程的同步线程 51

第5章文件I/O 63

5.1关于文件 63

5.1.1系统组织 63

5.1.2文件操作 64

5.2使用文件 67

5.2.1实例:建立和打开文件 67

5.2.2实例:文件读、写和加锁 68

5.2.3实例:建立和使用临时性文件 69

5.2.4实例:查找文件和改变文件属性 71

5.3函数 72

第6章文件映射 74

6.1关于文件映射 74

6.1.1共享文件 74

6.2使用文件映射 75

6.1.3关闭文件视图 75

6.1.2共享内存块 75

6.3函数 76

第7章安全性 77

7.1目标 77

7.2USER32安全对象 77

7.2.1对象存取类型 78

7.3对象句柄 79

7.3.1创建桌面 79

7.3.2创建窗口 80

7.3.4创建DDE存取 81

7.3.3创建菜单 81

7.4打开对象 82

7.5存取对象 82

7.3.5创建DDE对话 82

7.6关闭对象 83

7.7窗口类 83

7.8SM_SECURE系统变量 83

7.9ES_PASSWORD风格 83

编辑控制 83

7.10枚举窗口 83

7.13.1注册 84

7.13.2对话 84

7.11存取屏幕内容 84

7.13DDE安全性 84

7.12存取剪贴板 84

7.14审核 85

7.15服务器初始化 85

7.16客户机初始化 85

7.16.1服务器连接 85

7.17.2注销 86

7.17.1注册 86

7.17注册处理 86

7.16.3线程初始化 86

7.16.2窗口工作站存取 86

7.17.3窗口工作站加锁 87

7.18关闭系统 87

第8章动态连接库 88

8.1关于动态连接库 88

8.1.1动态连接的优点 88

8.1.2动态连接中使用的文件 89

8.1.3调用DLL函数 90

8.1.4DLL数据作用范围:多进程、进程和线程 91

8.2使用动态连接库 92

8.2.1建立一个简单的动态连接库 92

8.2.2使用装入时动态连接 93

8.2.3使用运行时动态连接 93

8.2.4函数LibMain 94

8.3函数 95

第9章资源 96

9.1关于资源 96

9.1.1寻找和装入资源 96

9.1.3枚举资源 97

9.1.2增加、删除和替换资源 97

9.2使用资源 98

9.2.1更新资源 98

9.2.2建立资源列表 99

9.3函数 103

第10章管道 104

10.1关于管道 104

10.1.1无名管道 104

10.1.2命名管道 104

10.2.1使用无名管道 108

10.2使用管道 108

10.2.2使用命名管道 109

10.2.3命名管道的交互操作 120

10.3函数 120

第11章邮件槽 122

11.1关于邮件槽 122

11.1.1邮件槽的名字 122

11.1.2邮件槽与LANManager 123

11.1.3服务器与客户函数 123

11.2使用邮件槽 124

11.2.1创建邮件槽 124

11.2.3读邮件槽 125

11.2.2写邮件槽 125

11.3函数 127

第12章网络 128

12.1关于网络 128

12.1.1不依赖于网络的函数 128

12.1.2Netbios函数 129

12.2网络的使用 129

12.2.1使用连接对话框 130

12.2.2枚举网络资源 130

12.2.4恢复连接名 132

12.2.3增加网络连接 132

12.2.5恢复用户名 133

12.2.6取消网络连接 133

12.2.7恢复网络错误信息 134

12.3函数 135

第13章字符模式支持 136

13.1引言 136

13.2关于控制台 136

13.2.1File函数的输入输出 137

13.2.2使用Console函数进行输入输出 137

13.3控制台的使用 137

13.3.1获取控制台输入输出句柄 138

13.3.2控制台模式 139

13.3.3File函数的模式 139

13.3.4Console函数的模式 140

13.3.5通过File函数使用控制台 141

13.3.6移动与隐去光标 143

13.3.7用Console函数进行输入 143

13.3.8输入缓冲区 143

13.3.9键盘事件 144

13.3.10鼠标事件 144

13.3.11缓冲区大小改变事件 145

13.3.12使用Console函数的输出 146

13.3.13窗口和显示缓冲区的大小 147

13.3.14在显示缓存区中写字符串 147

13.3.15在显示缓存区中写颜色属性 148

13.3.16写字符和属性块 148

13.3.17读显示缓冲区 149

13.3.18滚动显示缓冲区 150

13.3.19控制句柄函数 152

13.4函数 153

14.2.1Win32服务 155

14.2服务的类型 155

第14章服务控制管理程序 155

14.1目标与局限 155

14.2.2Drivere服务 156

14.3Win32服务的用户帐号 156

14.4配置登记簿 157

14.5ServiceControlManager的客户 157

14.6ServiceContorlManaget函数 158

14.7SCManaager对象 159

14.7.1SCManager访问类型 159

14.8.1服务访问类型 160

14.8服务对象 160

14.8.2服务控制程序的数据类型 162

第15章时间 163

15.1关于日期和时间函数 163

15.1.1MS-DOS时间 163

15.1.2Windows时间 163

15.2日期和时间函数的使用 164

15.2.1文件时间 164

15.2.2实例:显示文件创建时间的文件目录 164

15.2.4系统时间 165

15.2.5实例:设置系统时间 165

15.2.3实例:改文件时间为当前时间 165

15.2.6函数 167

第16章调试 168

16.1关于调试支撑及性能监视 168

16.1.1其它Win32函数的调试支撑 168

16.1.2调试函数 169

16.1.3性能监视函数 171

16.2调试支持功能的使用 172

16.3函数 173

17.1.1目标 174

17.1.2异常的结构 174

17.1关于结构化的异常处理 174

第17章结构化的异常处理 174

17.1.3异常处理的语法 176

第18章通信 179

18.1关于通信 179

18.2Comm函数的使用 179

18.2.1获取通信资源的句柄 179

18.2.2初始化通信资源 179

18.2.3配置通信资源 179

18.2.4读通信资源 181

18.2.6其它通信函数 182

18.2.5写通信资源 182

18.3函数 184

第19章窗口管理介绍 185

19.1概述 185

19.1.1Win3和PM的输入处理问题 185

19.1.2Win32输入处理的目标 185

19.1.3多线程运行 185

19.1.4输入管道 186

19.1.5局部输入状态 186

19.1.7Z-序的相关活动 187

19.1.6受局部输入状态影响的函数 187

19.1.8擦掉和重画挂起应用程序的窗口框架或图标 188

19.1.9图标语言支持(NLS) 188

19.1.10单字编码 188

19.1.11通知消息 189

19.1.12热键 190

19.1.13窗口挂钩变化 190

19.1.14各种USER32函数的变化 191

19.2.2记号 196

19.2.3裁剪板 196

19.2USER功能概述 196

19.2.1加速键 196

19.2.4普通对话框 197

19.2.5光标 197

19.2.6DDE管理库 198

19.2.7对话框 199

19.2.8拖拉/放下 200

19.2.9错误 200

19.2.10挂钩 200

19.2.12键盘 201

19.2.13多文档界面 201

19.2.11图标 201

19.2.14菜单 202

19.2.15消息 203

19.2.16鼠标 204

19.2.17对象连接和嵌入 204

19.2.18刷新 206

19.2.19特征 206

19.2.20矩形 206

19.2.21滚动 207

19.2.22字符串 207

19.2.23窗口管理 208

20.1.2排队和非排队的消息 211

20.1.1消息 211

第20章消息和消息队列 211

20.1关于消息和消息队列 211

20.1.3消息处理 212

20.1.4邮寄和发送消息 214

20.1.5消息类型 214

20.1.6消息过滤 215

20.1.7消息死锁 215

20.2使用消息和消息队列 216

20.2.1创建消息循环 216

20.2.2检查消息队列 218

20.2.4发送消息 219

20.2.3邮寄消息 219

20.3函数 221

第21章键盘输入 222

21.1关于键盘输入 222

21.1.1键盘输入模式 222

21.1.2键盘焦点和激活 222

21.1.3击键消息 223

21.1.4字符消息 224

21.1.5键状态 225

21.2.1处理击键消息 226

21.2使用键盘输入 226

21.1.6击键和字符翻译 226

21.1.7热键支持 226

21.2.2翻译字符消息 228

21.2.3处理字符消息 228

21.2.4使用标记 229

21.2.5实例:显示键盘输入 229

21.3函数和消息 235

22.1.3鼠标配置 237

22.1.2鼠标捕获 237

22.1.1鼠标光标 237

22.1关于鼠标输入 237

第22章鼠标输入 237

22.1.4鼠标消息 238

22.1.5WM_NCHITTEST消息 240

22.1.6窗口活动 241

22.2使用鼠标输入 241

22.2.1跟踪鼠标光标 241

22.2.2实例:用鼠标画线 241

22.2.3处理连续两次按下鼠标的消息 244

22.2.4实例:选择一行文本 245

22.3鼠标输入函数和消息 247

第23章滚动条 249

23.1有关滚动条的描述 249

23.1.1滚动条的组成 249

23.1.2标准滚动条和滚动条控制 250

23.1.3滚动框的位置和滚动范围 251

23.1.4滚动条请求 251

23.1.5滚动条的键盘界面 253

23.1.6滚动客户区域 254

23.1.7滚动条的可见性 254

23.1.8滚动条的颜色和度量 255

23.2使用滚动条 255

23.2.1建立滚动条 255

23.2.2滚动文本 256

23.2.3滚动位图 261

23.2.4建立标准滚动条的键盘界面 269

23.3函数 270

23.4消息 271

第24章菜单 272

24.1有关菜单的描述 272

24.1.1菜单条和弹出式菜单 272

24.1.2菜单句柄 273

24.1.3类菜单 273

24.1.4菜单项 273

24.1.5用键盘访问菜单 277

24.1.6菜单的建立 278

24.1.7菜单的显示 278

24.1.10菜单的修改 279

24.1.9菜单消息 279

24.1.8撤消菜单 279

24.2怎样使用菜单 280

24.2.1使用菜单样板资源 280

24.2.2建立浮动弹出式菜单 284

24.2.3使用菜单项位图 286

24.2.4建立用户自己绘制的菜单项 291

24.2.5使用自己的选中标志位图 296

24.3函数和消息 304

第25章键盘加速键 305

25.1关于键盘加速表 305

25.1.1加速键表 305

25.1.2加速键的创建 306

25.1.3加速键的分配 306

25.1.4加速键和菜单 307

25.2.1使用加速键表资源 308

25.2使用键盘加速键 308

25.2.2使用运行时创建的加速键表 313

25.3函数 320

25.4消息 320

第26章图形设备接口 321

26.1简介 321

26.2GDI的增强 321

26.3GDI的改进 321

26.3.1调用的改进 322

26.3.2函数改进 322

26.3.3改进的详细描述 322

26.3.4新的函数调用 324

26.4GDI函数概述 325

26.4.2绘图工具 326

26.4.1位图 326

26.4.3剪裁 327

26.4.4颜色 327

26.4.5曲线输出 328

26.4.6设备环境关系函数 328

26.4.7字模 328

26.4.8线输出 329

26.4.9映射 329

26.4.10元文件 330

26.4.11GDI对象 330

26.4.12调色板的管理 331

26.4.13路径 332

26.4.14定位 332

26.4.15打印 332

26.4.16区域 333

26.4.17字符文本输出 334

第27章位图 335

27.1位图 335

27.1.1位图、绘图平面和设备环境 337

27.1.2两种类型的位图 337

27.1.3位图旋转 338

27.1.4位图缩放 339

27.1.5位图作为画刷 339

27.1.6位图存储 340

27.2位图的使用 342

27.2.1利用位图来捕捉图象 342

27.2.2利用位图来缩放图象 343

27.2.3利用位图来存储图象 344

27.3函数 347

28.1画刷 349

第28章画刷 349

28.1.1实心画刷 350

28.1.2备用画刷 350

28.1.3阴影画刷 350

28.1.4图案画刷 350

28.1.5画刷起点 351

28.2画刷的使用 351

28.3函数 357

第29章画笔 358

29.1关于画笔 358

29.1.1装饰画笔 358

29.1.2几何画笔 359

29.2如何使用画笔 360

29.2.1修改选择颜色公共对话框 360

29.3函数 363

第30章区域 364

30.1关于区域 364

30.1.1区域的创建和选择 364

30.1.2区域的操作 364

30.2如何使用区域 365

30.2.1使用区域来剪取输出 365

30.2.2使用区域来执行探测 370

30.3函数 370

第31章直线和曲线 371

31.1关于直线和曲线 371

31.1.1直线 371

31.1.2曲线 372

39.4.4管理波形记录 373

39.4.3打开波形输入设备 373

31.1.3直线与曲线的组合 373

31.1.4线的属性 373

31.2如何使用直线和曲线 374

31.2.1使用线函数来绘制浮标 374

31.2.2使用直线及曲线画饼图 376

31.3有关函数 379

第32章颜色和调色板 380

32.1关于颜色 380

32.1.1颜色的物理特性 380

32.1.2彩色视频显示技术 380

32.2如何使用颜色 381

32.1.3颜色的操作 382

32.2.1创建一个彩色画笔 384

32.3有关函数 385

32.4有关消息 385

第33章坐标位置及变换 386

33.1关于坐标位置及其变换 386

33.1.2变换 387

33.1.1坐标位置 387

33.2如何使用坐标位置及其变换 393

33.1.3缺省变换 393

33.2.1使用预定义的单位绘制图形 394

33.2.2在应用程序使用区内使图形居中 394

33.2.3图形缩放 394

33.2.4图形平移 395

33.2.5图形旋转 395

33.2.6图形剪切 395

33.2.7图形镜像 396

33.3有关函数 396

第34章元文件 397

34.1关于元文件 397

34.2增强型格式元文件 397

34.2.1增强型元文件的记录 397

34.2.2增强型元文件的操作 398

34.3Windows格式元文件 399

34.5.1创建一个增强型的元文件 400

34.4从Windows格式到增强型格式的转换 400

34.5如何使用元文件 400

34.5.2显示图象并将其存储到增强型元文件中 402

34.5.3打开增强型元文件并显示其内窗 406

34.6有关函数 408

第35章多媒体服务器 409

35.1Windows的多媒体服务器 409

41.8.4与其它应用程序共享I/O过程 409

35.3Windows多媒体设计的要点 410

35.5调试多媒体应用程序 410

35.4构造多媒体应用程序 410

35.2Windows多媒体服务器的体系结构 410

36.1MCI概述 411

36.1.1MCI的体系结构 411

36.1.2MCI的编程接口 411

第36章.媒体控制接口 411

36.1.3MCI命令集 412

36.1.4MCI设备 412

36.1.5打开MCI设备 413

36.2使用命令消息接口 414

36.2.1关于命令消息 414

36.2.2MCI指令消息小结 415

36.2.4打开设备 417

36.2.3发送指令消息 417

36.2.5关闭设备 420

36.2.6使用等待和通知标志 421

36.2.7获得MCI系统信息 422

36.3关于指令串接口 423

36.3.1使用MciSendString函数发送指令字符串 423

36.3.2关于指令串的附加信息 423

37.1.1音响服务器的类型 424

37.1.2音响服务器的级别 424

37.1音响服务器 424

第37章音响系统 424

37.3音响文件格式 425

37.2.3MIDI映射器 425

37.2.2低级音响函数 425

37.2.1高级音响函数 425

37.2Windows音响结构 425

37.4参考文献 426

37.3.1使用RIFF文件 426

第38章高级音响 427

38.1函数前辍 427

38.2播放波形音响 427

38.2.1播放波形音响中的限制 427

38.2.2使用SndPlaySound函数 428

38.3使用MCI播放和记录音响 430

38.2.3播放系统警告音响 430

38.3.1MCI音响数据类型 431

38.3.2MCI音响命令 431

38.3.3打开MCI音响设备 432

38.3.4MCI错误处理 435

38.3.5启动重播 436

38.3.6改变当前位置 439

38.3.7设置时间格式 440

38.3.8关闭MCI音响设备 441

38.3.9获取设备和媒体的信息 441

38.3.10波形音响设备的记录 444

38.3.11使用MCIMIDI序列发生器 447

38.4MIDI绘图仪 448

38.4.1MIDI符号规定 448

38.4.2MIDI绘图仪和Windows 449

38.4.3MIDI绘图仪的体系结构 449

38.4.4通道映射 449

38.4.5插补映射 449

38.4.6键映射 450

38.5授权的MIDI文件 450

38.4.7映射和MIDI消息 450

小结 450

38.5.2MIDI文件的偏写说明 451

38.5.1关于基础级和扩展级的合成器 451

38.5.5使用MARKMIDI 452

实用程序 452

38.5.3标准的MIDI插补分配 452

38.5.4标准的MIDI键分配 452

第39章低级音响 453

39.1函数前缀 453

39.2使用低级音响服务 453

39.2.1询问音响设备 453

39.2.2打开及关闭音响设备 455

39.2.3分配及配备音响数据块 455

39.2.4管理音响数据块 456

39.2.5使用MMTIME结构 458

39.3播放波形音响 459

39.3.1波形输出数据类型 459

39.2.6用音响函数来处理错误 459

39.3.2查询波形输出设备 460

39.3.4指定波形数据格式 462

39.3.3打开波形输出设备 462

39.3.5写波形数据 466

39.3.6获取当前重放位置 470

39.3.7停止、暂停及重新启动重放 470

39.3.9改变波形重放音量 471

39.3.8关闭波形输出设备 471

39.4记录波形音响 472

39.4.1波形输入数据类型 472

39.4.2查询波形输入设备 472

39.3.10改变音调及重放速率 472

39.5播放MIDI音响 475

39.5.1MIDI输出数据类型 475

39.5.2查询MIDI输出设备 475

39.5.3打开MIDI输出设备 476

39.5.4发送MIDI消息 477

39.5.5发送缓冲区消息 478

39.5.8改变内部MIDI合成器音量 479

39.5.6用运行状态来发送MIDI消息 479

39.5.7重新设置MIDI输出 479

39.5.10使用带低级MIDI函数的MIDI绘图仪 480

39.5.9预装入带内部MIDI合成器的助音器 480

39.6记录MIDI音响 481

39.6.1MIDI输入数据类型 481

39.6.2询问MIDI输入设备 481

39.6.3打开MIDI输入设备 481

39.6.4管理MIDI记录 482

39.7.1查询辅助音响设备 484

39.7辅助音响设备 484

39.6.6接收运行状态消息 484

39.6.5接收带时间标记的MIDI消息 484

39.7.2改变辅助音响设备的音量 485

41.2.4在文件中定位新位置 485

39.8音响裁剪板格式 486

第40章多媒体计时器 487

40.1函数前缀 487

40.2计时器服务 487

40.2.1计时器数据类型 487

40.2.2使用计时器服务 487

40.2.5建立最小计时器分辩率 488

40.2.4确定最大和最小事件周期 488

40.2.3获取系统时间 488

40.2.6启动计时器事件 489

40.2.7中断计时器事件 490

40.2.8使用计时器反调函数 490

第41章多媒体文件I/O 492

41.1多媒体文件I/O服务介绍 492

41.1.1与MS-DOS、C运行时库及Windows文件I/O进行比较 492

41.1.2函数前缀 493

41.1.3数据类型 493

41.2完成基本文件I/O 493

41.2.1打开文件 493

41.2.2建立及删除文件 495

41.2.3读写文件 495

41.3完成带缓冲区的文件I/O 496

41.3.1确定何时使用带缓冲区的文件I/O 496

41.3.2为带缓冲区的文件I/O打开一个文件 496

41.3.3I/O缓冲区控制函数 497

41.4使用RIFF文件 498

41.4.1RIFF文件介绍 498

41.4.4建立RIFFChunk 499

41.4.MMCKINFO结构 499

41.4.3产生四字符码 499

41.4.5导向RIFF文件 500

41.4.6RIFF文件I/O举例 502

41.5MMIOINFO结构 504

41.6直接访问文件I/O缓冲区 504

41.6.1获取文件I/O缓冲区信息 505

41.6.2读写文件I/O缓冲区 505

41.6.3改进文件I/O缓冲区 505

41.6.4访问文件I/O缓冲区举例 506

41.8使用常规I/O过程 507

41.6.5终止文件I/O缓冲区的直接访问 507

41.7.1打开内存文件 507

41.7完成内存文件上的文件I/O 507

41.8.1用常规I/O过程打开文件 508

41.8.2写一个I/O过程 508

41.8.3安装一个I/O过程 509

42.3数据类型 510

42.2Windows32API中的Unicode支持 510

42.1总则 510

第42章Unicode 510

42.4函数原型 511

42.5基本步骤 511

42.6窗口类 512

42.7消息 514

42.8子类产生和自动消息传送 515

42.9资源 515

42.11C运行时库 516

42.10字符串函数 516

42.12文件名 517

42.13特殊字符 518

42.14Unicode的普通文本格式 519

42.15特殊标题 520

42.16工作环境 520

附录A虚拟键码 522

附录B错误代码 526

B.1错误代码的字母顺序表 526

B.2错误代码值顺序表 539

词汇表 554