Visual Basic Win32 API编程
Visual Basic Win32 API编程
Steven Roman
陈志远 译
出版时间:2001年04月
页数:612
Visual Basic 将程序员和错综复杂的Windows操作系统屏蔽开来,从而提供了一种有效快速的应用程序开发环境。这只是一种折衷,它良好的开发简易性和快速性会导致较差的性能,并损失了灵活性和可控制性。幸运的是,Visual Basic是可以扩展的:当VB隐藏的细节妨碍了应用程序开发时,你总可以通过直接调用Win32应用程序编程接口(API)来弥补VB的缺点。
《Visual Basic Win32 API编程》面向的对象是中级和高级VB程序员,他们对在自己的应用程序中组合Windows的系统服务非常感兴趣。为了帮助程序员实现这个目的,这本书集中讲述两个方面内容:
* Windows NT和Windows 9x操作系统的基本操作。因为微软的文档很少考虑为了调用Win32 API函数读者需要知道什么内容。
* Win32 API中的主要函数。在讨论Win32 API时,这本书首先说明如何从Visual Basic代码中调用Win32 API,然后解释如何有效地使用主要的Win32 API函数。
在说明如何在应用程序中使用Win32 API时,这本书集中解释了如何完成范围广泛的、从简单到复杂的各种实用编程任务,包括:
* 获得基本的系统信息,例如操作系统的版本
* 在一个列表框中添加制表键停止
* 向注册表和私有配置文件中写数据,或从它们中获得数据
* 使两个VB应用程序同步,让它们协同工作
* 枚举系统中可得到的字体
* 建立控件的子类,从而产生特殊的动作
* 侵入另一个应用程序的地址空间,可以读写它的数据并执行它的代码
* 安装显示器挂钩或者改变鼠标或键盘的行为
本书提供了Visual Basic程序员成为真正高手所需要的背景知识和信息,帮助程序员清除在调用Win32 API时经常发生的错误。
  1. 前言
  2. 第一部分 使用VB声明API函数
  3. 第一章 介绍
  4. Win32 API 是什么?
  5. 在VB下使用Win 32 API 编程的困难
  6. 小心前进
  7. 注意
  8. 第二章 预备知识
  9. 字符编码
  10. 形式参数和实参数
  11. 动态链接库
  12. VC++中使用的一些语法
  13. 指针
  14. 第三章 API的声明
  15. VB的声明语句
  16. 由VC到VB的翻译原则
  17. 将参数传递到一个外部函数
  18. CopyMemory -- 一个VB黑客的梦想
  19. 处理API错误
  20. 第四章 数据类型
  21. 数据类型是什么?
  22. 基本和派生数据类型
  23. Visual Basic的数据类型
  24. 基本的VC++数据类型
  25. 转换导出数据类型
  26. Win 32的Typedef
  27. 一个例子
  28. 结构和用户定义类型
  29. 标志
  30. 符号常量
  31. 第五章 有符号和无符号
  32. 数据类型
  33. 有符号和无符号的表示
  34. 为什么要使用两种表示方法?
  35. 无符号表示法
  36. 有符号表示法
  37. 在有符号和无符号表示法之间进行转换
  38. 字长间的转换
  39. 第六章 字符串
  40. BSTR
  41. C中的LPSTR和LPWSTR类型的字符串
  42. 字符串术语
  43. 研究字符串的工具
  44. 使用VB进行字符串转换
  45. 将字符串传递给Win32 API
  46. 字符串和字节数组
  47. 得到一个用户定义类型变量的地址
  48. 第七章 系统信息函数
  49. 计算机名称
  50. 特殊的Windows路径
  51. 操作系统的版本
  52. 系统度量
  53. 系统参数
  54. 系统颜色
  55. 第八章 异常处理
  56. 防止一般保护性错
  57. 替换缺省的异常处理程序
  58. 替换的异常处理程序
  59. 一个完整的例子
  60. 第二部分 Windows操作系统
  61. 第九章 Windows 的结构
  62. 进程和线程
  63. Windows 结构
  64. Windows 9x与Windows NT之间的差异
  65. 第十章 对象和它们的句柄
  66. 句柄
  67. 例子:文件映射
  68. 第十一章 进程
  69. 进程句柄和标识符
  70. 模块句柄
  71. 进程的识别
  72. 进程伪句柄
  73. 列举进程
  74. 这个应用程序已经运行了吗
  75. 第十二章 线程
  76. 线程句柄和线程标识符
  77. 线程优先权
  78. 线程同步
  79. 机警的等待
  80. 第十三章 Windows 的内存结构
  81. 内存类型
  82. 一个进程的地址空间
  83. 例子:使用GetSystemInfo
  84. 分配虚拟内存
  85. 例子:使用GlobalMemoryStatus
  86. 虚拟内存管理
  87. 内存堆
  88. 例子:映射虚拟内存
  89. 第十四章 PE文件
  90. 模块重定位
  91. PE文件的格式
  92. 例子:得到PE文件的信息
  93. 第三部分 Windows(USER32.DLL编程)
  94. 第十五章 Windows:基础
  95. 术语
  96. 窗口类型
  97. 拥有窗口
  98. Z顺序
  99. 枚举窗口
  100. 大小和位置函数
  101. 第十六章 Windows消息
  102. 线程的消息队列
  103. Windows的消息系统
  104. 投递和发送消息
  105. 例子:向列表框发送消息
  106. 进程调度
  107. 在进程间复制数据
  108. 本地输入状态
  109. 第十七章 窗口类和窗口创建过程
  110. 窗口类
  111. 预定义的窗口类
  112. 一个窗口类的窗口过程
  113. 创建一个窗口
  114. 窗口风格
  115. 窗口和VB控件
  116. 例子:监视窗口
  117. 第十八章 Windows子类
  118. 建立一个窗口或窗口类的子类
  119. 例子:建立VB复选框类的子类
  120. 第十九章 Windows挂钩
  121. 全局和线程专有挂钩
  122. 设置挂钩
  123. 挂钩过程
  124. 挂钩类型
  125. 挂钩链
  126. 例子:一个局部挂钩
  127. 例子:一个全局挂钩
  128. 第二十章 动态链接库的注入和外部进程的访问
  129. 访问一个外部进程:挂钩线程图
  130. 分配外部内存
  131. 例子:外部控件提取
  132. 例子:修改VB帮助系统
  133. 第四部分 Windos图形设备接口(GDI32.DLL编程)
  134. 第二十一章 位图
  135. 矩形
  136. 位图
  137. 位图函数
  138. 在菜单中使用位图
  139. 第二十二章 设备上下文I:概述
  140. Windows如何处理窗口绘制
  141. 设备上下文
  142. 第二十三章 设备上下文II:设备上下文的类型
  143. 信息设备上下文
  144. 内存设备上下文
  145. 打印机设备上下文
  146. 显示器设备上下文
  147. 坐标系
  148. 第二十四章 设备上下文III:坐标系
  149. GDI坐标系
  150. 虚拟空间
  151. 设备空间
  152. 页空间
  153. 虚拟空间到物理空间
  154. 在物理空间中建立逻辑坐标系
  155. 映射方式
  156. 世界空间
  157. 第二十五章 字体
  158. 字体系列
  159. 字体技术
  160. 字符集
  161. 逻辑和物理字体
  162. 枚举字体
  163. 第五部分
  164. 附录
  165. 附录一 剪贴板
  166. 附录二 Windows Shell
  167. 附录三 注册表和私有配置文件
  168. 词汇表
书名:Visual Basic Win32 API编程
作者:Steven Roman
译者:陈志远 译
国内出版社:中国电力出版社
出版时间:2001年04月
页数:612
书号:7-5083-0534-5
原版书出版商:O'Reilly Media
Steven Roman
 
Steven Roman是加利福尼亚州立大学 Fullerton分校的名誉退休教授。他曾经在多所大学执教,包括麻省理工学院、加州大学圣芭芭拉分校和南佛罗里达大学。
Roman博士在加利福尼亚大学洛杉矶分校获得学士学位,在华盛顿大学获得博士学位。他已经出版了32本书,其中包括由Springer-Verlag出版的《Coding and Information Theory》、《Advanced Linear Algebra》和《Field Theroy》。他还编写了一个包括15本名为《Modules in Mathematics》的小书系列,这些书是为普通的有大学水平的艺术类学生而准备的。
除了为O'Reilly写的书外,Roman博士还写了其他两本计算机书,一本是《Concepts of Object-Oriented Programming with Visual Basic》,另一本是《Understanding Personal Computer Hardware》,后者深入的分析了PC硬件的工作原理,这两本书都是由Springer-Verlag出版的。Roman博士的研究兴趣主要为组合数学、代数和计算机科学。
 
 
本书封面上的动物是癯猿叶猴(entellus langur),又称长尾叶猴(hanuman langur)。癯猿叶猴是叶猴(东半球猿猴家族成员)中最大的一种。它们主要分布在印度西北部、孟加拉、斯里兰卡、和南喜马拉雅地区。在印度,癯猿叶猴是一种受尊敬的动物。一个古老的印度传说讲述了一个叫Rama的王子和他的妻子Sita的故事,这个王子是毗瑟努神的化身。一天,Sita被绑架到一个岛上。岛上的猴王Sugriva和它的大臣Hanuman帮助Sita获得了自由,并使她返回到丈夫的身边。为了报复,绑架Sita的人判决在火刑柱上烧死Hanuman。Hanuman可以拯救自己,但是必须在手和脸被烧伤以后。直到今天,所有Hanuman后代的手和脸上还留有烧伤的痕迹。