本书涵盖主题
·Visual C++使用方法
·Win32控件
·窗体和对话框
·深入Windows消息
·Windows系统和外壳编程
·鼠标和键盘输入
·进程、线程
·GDI图形对象函数
·文件IO
·数据库开发
·网络开发
·HOOK技术
·ActiveX应用
·制作帮助文件和安装程序
·制作多语言应用程序界面
无
Visual C++ 60是微软公司推出的一款优秀的在Windows平台下运行的软件开发工具。从1998年至今,Visual C++ 60在Windows舞台上扮演了重要角色,至今,它仍是很多开发者的主要开发工具。本书主要讲解使用Visual C++ 60开发Win32应用软件的方法和技巧。
目前市面上的Visual C++ 60书籍很多,但它们大多是专于某个方面的,而入门级的书只提到了语言本身的入门,在实际应用中可能会遇到的问题并没有涉及,所以读者在学习时,往往会遇到无处着手的情况。本书本着实用的目的,从实例入手,宗旨是向读者提供一整套Visual C++ 60的开发和应用教程,使读者在将来的Visual C++ 60使用过程中不再困惑。
本书采用实例和理论相结合的方式,讲解细致直观。通过实例的演示,使读者在学习本书时,能快速地掌握Win32开发知识和Visual C++ 60的使用技巧,并独立编写出优秀的应用软件。
本书特色
本书的编排采用循序渐进的方式,适合初级、中级学者逐步掌握Windows应用软件开发的原理和Visual C++ 60的使用技巧。本书采用SDK和MFC对照的方法,使读者在掌握MFC快速开发方法的同时,又深入了解了SDK和MFC的内部原理,为将来进一步学习打好基础。本书的特点主要体现在以下几个方面。
WingdingsqAp提供学习论坛,网址是http://wwwrzchinanet,读者可以在上面讨论技术,笔者会及时回答读者提问,并提供各种技术文章,帮助读者提高开发水平。
WingdingsqAp本书采用了大量的实例,覆盖了Win32平台下使用Visual C++ 60进行应用软件开发中所有常用的知识。
WingdingsqAp所有实例都采用代码、图示相结合的方式,做到了明确直观。
WingdingsqAp在讲解每一个知识点时,都尽量做到了MFC和SDK相对照,使读者更深入地了解底层原理。
WingdingsqAp对每个知识点都指明了核心要点和使用技巧,使读者能够明确重点。
WingdingsqAp本书附带的源代码中,包括了许多封装类,这些封装类不但具有一定的实用性,更可贵的是几乎全部支持在MFC和纯SDK下使用,而且都考虑到了ANSI编码方式和UNICODE编码方式的通用性,可以为读者提供良好编码风格的参照。
WingdingsqAp注重实际应用,从程序编写到软件发布都给出了讲解,使读者在实际应用时更容易上手。
本书的内容
本书内容可分4个部分,从Windows系统中最基本界面控件到应用软件的发布,循序渐进地讲解了使用Visual C++ 60开发Win32应用程序的方法和技巧。
第一部分(第1章至第5章)讲述了Visual C++ 60项目向导的使用方法,Win32标准控件的使用技术。通过本部分的学习,读者可以了解Visual C++ 60集成开发环境的基本使用方法和Windows基本界面元素的使用技巧,为后续学习打下基础。
第二部分(第6章至第10章)深入讲解了Windows应用程序从启动到结束的运行原理,以及Windows应用程序开发的关键技术点。包括消息循环的原理、键盘鼠标编程和线程与进程的管理技术等。通过本部分内容的学习,读者可以更深入地了解Windows系统中应用软件的运行原理,更熟练地掌握Visual C++ 60的使用技巧。
第三部分(第11章至第17章)每章包括一个技术点,讲解了Visual C++ 60在Windows软件开发中的不同应用。包括图形图像开发、数据库开发、多媒体开发和ActiveX应用等。通过本章的学习,读者可以巩固前面章节的知识,全面掌握Visual C++ 60的实际应用技巧。
第四部分(第18章)讲解了制作帮助文件和制作安装程序,以及让应用程序支持多语言的方法。通过本部分内容的学习,读者可以掌握将自己的应用程序变成一个完整软件的方法。
本书的开始章节以循序渐进的方法,逐渐引导用户理解Windows中应用程序的工作原理,以及Visual C++ 60集成开发环境的使用技巧。在后续章节主要以应用为主,每章侧重不同的编程技术。
本书适合的读者
WingdingsqApVisual C++ 60的初学者
WingdingsqAp使用Visual C++ 60进行软件开发的人员
WingdingsqApWindows API及Windows软件开发技术的研究人员
WingdingsqAp使用Visual C++ 60进行毕业设计的计算机学员
WingdingsqAp想了解Windows软件开发技术的其他人员
WingdingsqApC/C++ 爱好者
本书作者
本书主要由张军编写,同时参与编写和资料整理的还有高会东、王建超、邓薇、黄丽莉、吝晓宁、汪洋、白广元、蔡念光、陈辉、冯彬、刘长江、刘明、沙金、张士强、张洪福、多召英、贾旭、李宽、江宽、陈科、方成林、班晓娟、方中纯、刘兰军、郑雪峰,在此一并表示谢意。
编者
本书涵盖主题 ·Visual C++使用方法 ·Win32控件 ·窗体和对话框 ·深入Windows消息 ·Windows系统和外壳编程 ·鼠标和键盘输入 ·进程、线程 ·GDI图形对象函数 ·文件IO ·数据库开发 ·网络开发 ·HOOK技术 ·ActiveX应用 ·制作帮助文件和安装程序 ·制作多语言应用程序界面
不积跬步,无以至千里
——荀子
初学编程的人很苦恼的一件事是不知道如何上手。其实有两种思路都可以很好地上手。一种是按部就班,像大学里的C程序设计课程一样,从基本语法,到各种具体应用程序逐渐深入;还有一种方法是,把基本语法和一些函数等的用法用比较典型的实例贯穿起来,通过学习这些实例来掌握编程知识,这也是一种很好的方法。因为学习编程需要大量的实践才能学好,而这种方法正好符合这种学习特点,所以也有比较好的效果。按照这个思路我们策划了这套书。
丛书特色
作为一套以实例贯穿始终的图书,本丛书在编写上着重体现以下特色。
1以实例引导学习,可快速入门
本丛书以全新的实例模式编写,每本书都是以实例贯穿始终,读者可以在实例引导下一步一步地学习编程,增强了编程的亲身体验,可以快速入门,达到良好的学习效果。
2编写模式科学,讲解细致
本丛书中贯穿的实例大都是按照“知识要点→实现代码→源程序解读”的模式编写,非常科学,讲解也很细致,容易掌握。
3实例数量丰富,实践性强
本丛书每本书都是以数以百计的实例指导读者学习,这些例子实用强,可为读者以后程序开发奠定坚实的基础。
4代码规范,注释丰富
为了增强代码的易读性,丛书编写时对代码进行了丰富的注释,非常易于读者阅读和理解,增强学习效果。
5光盘内容实用、超值
配书光盘提供了书中所涉及的源代码,以方便读者使用。除此之外,还特别免费提供了大量的编程入门视频和技术文档,以方便相关人员学习和教学使用。
6提供技术支持
本丛书提供了论坛:http://wwwrzchinanet,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。
丛书包含的书目
《Java实例精通》
《Java Web整合开发实例精通——Struts+Hibernate+Spring》
《Visual C++实例精通》
《Visual Basic实例精通》
《C# 30实例精通》
《ASPNET 35实例精通》
《PHP实例精通》
《JavaScript实例精通》
本丛书读者定位
初学编程的人员;
已经入门,需要通过实例提高编程水平的人员;
大中专院校的学生;
社会培训学员;
相关程序员。
阅读本丛书的几点建议
没有基础的读者建议按顺序阅读,不要跳跃,不要跳步。
有基础的读者可以跳过一些特别基础的章节学习。
如果感觉学习本书有困难,建议先阅读机械工业出版社“编程红宝书”丛书中的对应入门图书。
多动手,亲自完成书中的实例,加深理解。
遇到问题,除了本书的技术支持论坛,还可利用网络资源解决。例如,利用Google和Baidu搜索相关资料,或者在相关论坛上发帖提问,会有热心人给你答复。
要重点阅读源代码及其注释,可以有效提高代码理解能力。
正所谓“宝剑锋从磨砺出,梅花香自苦寒来”。编写这样的一套书也实属不易,是一个需要克服很多困难、花费大量心血才能完成的“浩大工程”。同样,在学习编程的道路上也不会一帆风顺,肯定有许多磨难等着你。我们伟大的思想家荀子早都说过,“不积跬步,无以至千里”。做任何事都得脚踏实地,才能走得远,希望以此与各位读者共勉。看到你们能以此套书提升编程水平,便是我们最开心的事了!
丛书策划编辑
张军:暂无简介
丛书序
前言
第1章认识Visual C++ 60
11第一个控制台应用程序实例
控制台应用程序的结构比普通GUI应用程序简单,不使用Windows的GUI子系统,但仍然可以调用大多数Windows API
12第一个Windows应用程序实例
Windows应用程序采用了GUI界面,使用图形化的人机交互方式,大大增强了应用程序界面的友好度
13基于对话框的MFC应用程序实例
MFC是微软提供的一个类库,使用MFC可以降低Windows应用程序开发的工作量。其中基于对话框的MFC应用程序结构最简单
14单文档MFC应用程序实例
单文档应用程序包含了完整Windows应用程序界面元素,如莱单、工具栏、状态栏等。适用于功能较复杂的应用程序
15多文档MFC应用程序实例
多文档应用程序类似于单文档应用程序,但是允许在一个应用程序中同时打开多个文档
16宏的使用实例
合理地使用宏定义,可以减少编码的工作量,如果宏定义使用不当,会降低代码的可读性和可维护性
第2章使用常用Win32控件
21静态文本、文本框和按钮使用实例
本节介绍Windows应用程序中常用的控件。这些控件实现了最基本的人机交互功能
22复选框和单选按钮使用实例
复选框和单选按钮都用于让用户做出选择,区别是复选框可以多选,单选按钮只能单选
23组合框(Combo Box)和列表框(List Box)使用实例
组合框和列表框以另外一种方式让用户做出选择,组合框只能单选,而列表框允许多选
24滚动条(Scroll Bar)使用实例
使用滚动条可以扩展控件或者窗体的可视范围,以便在容器中显示更多的内容
25数值调节按钮(Spin)使用实例
数值调节按钮用于输入数字,通过和文本框绑定,可以方便地输入指定范围内的数字
26进度条(Progress)使用实例
进度条控件在界面上以图形的方式直观地显示某个任务的进度
27滑块控件(Slider)使用实例
滑块控件允许以鼠标拖动的方式选择某个范围内的数值
28热键控件(Hot Key)使用实例
热键控件用于输入一组按键,这组按键通常由控制键和普通键组成,可以将这组按键注册成为热键,在其按下时实现一些快捷功能
29列表控件(List Control)使用实例
列表控件用于显示大量的二维信息,并且可以用图标、文本混合的方式显示
210树形控件(Tree Control)使用实例
树形控件可以用图文并茂的方式显示具有明显层次结构的数据。在显示中可以随时折叠或展开显示数据
211格式文本框(Rich Edit)使用实例
格式文本框可以输入带格式的文本,可以对不同文本设置不同的字体、颜色等格式,格式文本框输出的文本又叫做“RTF”文本
212属性页(Tab Control)使用实例
属性页控件用于扩展应用程序界面,可以在属性页中加入多个对话框,并通过选择,显示其中某一个对话框
213动画控件(Animate)使用实例
动画控件可以在应用程序上播放一段无声的AVI视频
214日期时间选择控件(Date Time Picker)使用实例
日期时间选择控件用于输入日期、时间值,不但可以防止错误的输入,也增强了应用程序界面的友好性
215日历控件(Month Calendar)使用实例
日历控件用于选择一个或一段日期值
216IP输入框(IP Address)使用实例
IP输入框用于输入由几段数字和句点组成的IP值
第3章使用高级Win32控件丰富界面
31窗体菜单使用实例
窗体菜单通常处于窗体顶部,可以将同类性质的命令按钮集中起来,方便选择。菜单处于非活动时会自动折叠,以节约窗体空间
32弹出式菜单使用实例
弹出式菜单通常随着鼠标右键的单击而弹出,可以根据鼠标右键单击的位置,弹出适合当前上下文的菜单
33工具栏使用实例
工具栏可以用图像化的方式,将应用程序中一些常用命令按钮放置在应用程序顶部
34256色工具栏使用实例
Visual C++ 60默认的工具栏不支持256色或更高颜色的位图。本节讲解了解决这一问题的方法,使应用程序更加美观
35状态栏输出信息实例
状态栏用于在窗口底部输出一些即时性的提示信息
36状态栏彩色渐变进度条实例
状态栏在默认情况下只可以显示文本,本节介绍了在状态栏中添加控件,并控制控件的方法
37ToolTip显示即时提示实例
ToolTip用于显示一些帮助或提示信息,这些信息在鼠标悬停到控件上一段时间后显示,鼠标离开控件时隐藏
第4章窗体
41创建和显示窗体实例
窗体是Windows系统中人机交互的核心,显示在屏幕上的绝大多数应用程序元素都是窗体
42让窗体保持在最顶层实例
普通窗体在屏幕上处于非活动时,会被活动窗体覆盖,本节介绍如何使窗体保持在屏幕最顶层,从而使窗体不被普通窗体覆盖
43创建半透明窗体实例
正常情况下,当前活动窗体会完全覆盖其后的窗体内容,本节介绍如何使窗体变为半透明状态,使得被其覆盖的窗体也处于可见状态
44创建椭圆窗体实例
Windows中默认的窗体是矩形,本节介绍如何让窗体外观变为椭圆形
45创建文字窗体实例
本节讲解利用文字,生成外观是文字轮廓的窗体
46利用图片生成异形窗体实例
本节讲解利用一幅位图,生成外观为图片轮廓的窗体
47以动画方式显示和隐藏窗体实例
默认情况下窗体的显示和隐藏是立即生效的,本节讲解如何以动画的方式显示和隐藏窗体
48控件自动适应窗体大小实例
默认情况下,当窗口大小改变时,窗口中的控件大小不会改变。本节演示如何让窗体上的控件根据窗体变化自动改变大小,以适应窗体
49多个控件改变大小时防止闪烁实例
同时改变一个窗体上的多个控件大小,会引起闪烁,本节演示改进代码减少闪烁的方法
410限制窗体的最大和最小尺寸实例
默认情况下窗体的尺寸不受限制,可以随意调节,本节演示如何限制窗体的最大和最小尺寸
411让窗体具有停靠效果实例
本节演示使用代码使窗体具有“吸附”的停靠效果
412枚举系统中的窗口实例
本节演示在程序中枚举出系统中所有窗口及其子窗口,并将窗口信息显示在界面中
第5章对话框
51显示模式对话框实例
模式对话框显示时会自动禁用其父窗体,直到对话框关闭后,其父窗体才变得可用
52显示非模式对话框实例
非模式对话框类似于普通窗体,显示时不会禁用父窗体
53打开文件对话框使用实例
打开文件对话框是Windows提供的通用对话框的一种,用于选择一个文件,以便程序打开
54保存文件对话框使用实例
保存文件对话框是Windows提供的通用对话框的一种,用于输入一个文件名,以便程序保存文件
55字体对话框使用实例
字体对话框是Windows提供的通用对话框的一种,用于选择一个字体信息
56颜色对话框使用实例
颜色对话框是Windows提供的通用对话框的一种,用于选择一个颜色
57为打开文件对话框增加预览功能实例
本节演示给打开文件对话框增加预览功能,在选中图片时,可以在对话框上显示图片文件的缩略图
58从内存创建对话框实例
默认情况下,创建对话框需要从程序资源中加载模板,本节演示如何不通过资源,直接在内存中创建对话框
第6章深入了解Windows消息
61传递并响应Windows消息实例
消息是Windows系统运行的核心,本节演示最基本的Windows消息传递和响应过程
62发送Windows消息实例
本节演示如何从应用程序中发出Windows消息
63在MFC中映射消息实例
MFC用大量的宏封装了消息响应的过程,本节演示这些宏的基本原理
64自定义消息使用实例
除了Windows中预先定义的消息外,应用程序也可以注册自己的消息,用于特殊用途
65拦截并处理Win32控件的消息实例
Win32控件基于窗体,通过拦截并处理控件的消息,可以改变控件的特性
第7章系统和外壳编程
71定时器使用实例
Windows定时器可以根据应用程序申请的时间间隔,定时向应用程序发出定时器消息或者调用应用程序中的回调函数
72访问系统注册表实例
注册表是Windows系统的重要组成部分,在本节演示如何访问系统注册表
73用随机数生成强力密码实例
Windows提供了随机数函数,可以通过已经初始化的随机数序列提供随机数
74打开和程序相关联的文档实例
Windows系统中,不同的文档通常和不同的应用程序关联,本节演示如何打开和某个文档相关联的程序
75访问Windows剪切板实例
Windows剪切板可以存放一些临时数据,并允许这些数据在不同应用程序之间交换
76监视剪切板内容变化实例
本节演示如何监视剪切板,当剪切板中内容发生变化时,应用程序将得到通知并且获取这些内容
77使用系统托盘图标实例
在应用程序中,可以通过API函数在系统托盘区显示一个图标,并且该图标可以响应鼠标消息
第8章基本输入设备
81鼠标输入处理实例
鼠标是Windows中重要的输入设备,鼠标的每个动作,都会产生相应的Windows消息
82键盘输入处理实例
键盘是Windows中重要的输入设备,键盘上每个按键的按下和松开,都会产生相应的Windows消息
83利用客户区鼠标消息拖动无边框窗体实例
普通窗体可以通过鼠标在标题栏拖动而移动窗体,无边框窗体由于没有标题栏,所以需要特殊处理才可通过鼠标拖动
84利用非客户区控制无边框窗体实例
本节演示利用特殊消息,用更简单的方法实现无边框窗体的拖动和改变大小
85限制鼠标移动区域实例
默认情况下鼠标是可以在屏幕范围内随意移动的,本节演示如何限制鼠标的移动区域
86模拟键盘鼠标消息实例
通常只有鼠标或者键盘的动作才会产生键盘鼠标消息,本节演示在应用程序中模拟键盘鼠标动作的方法
87使用系统热键使后台程序得到通知实例
热键是一组特殊按键的组合,当一组已经注册的热键按下时,即使应用程序处于非活动状态,也可以得到通知
第9章进程
91创建和结束进程实例
启动一个应用程序,即可产生一个进程,Windows中各个进程之间的内存是相对独立的
92用匿名管道获取控制台程序的输出实例
利用匿名管道可以在不同进程之间通信,本节演示通过匿名管道获取控制台应用程序输出的方法
93拦截并处理外部进程错误实例
本节演示利用特殊的选项,使得当创建的进程中发生错误时,由主进程拦截并得到该错误信息,而不把该错误交给系统
94防止应用程序运行多次实例
在Windows中,每启动一个应用程序,就会产生一个新的应用程序实例。本节演示通过代码限制应用程序只能启动一次
95用消息在进程间通信实例
本节演示使用Windows消息在不同进程之间传输数据的方法
96用内存映射文件在进程间通信实例
本节演示使用内存映射文件在不同进程之间传输数据的方法
97枚举并得到系统中所有进程信息实例
本节演示在程序中通过代码枚举系统中所有进程,并得到每个进程的运行信息的方法
第10章线程
101主线程阻塞实例
一个进程中至少包含一个主线程,主线程负责更新UI和处理消息。如果主线程被阻塞,应用程序界面将失去响应
102创建和结束线程实例
在应用程序中可以创建多个线程,让主线程处理消息,使应用程序能及时响应操作,而耗时的工作可以交给单独的线程处理
103用临界区对象同步线程实例
多个线程访问应用程序中的共享数据库时,为了防止发生冲突,必须对线程进行同步,临界区是常用的用于同步线程的对象
104用事件对象同步线程实例
事件对象是内核对象的一种,利用事件对象的信号状态可以实现多个线程的同步
105用信号量对象同步线程实例
信号量允许多个线程同时访问共享资源,但可以限制访问数。当可访问数为0时,申请资源的线程会被阻塞
106调整线程优先级实例
默认情况下Windows系统中的线程处于同一优先级,可以通过代码,调整线程的优先级
第11章图形图像开发
111用DC对象缩放位图实例
DC对象是一个抽象接口,利用该接口可以将图像绘制到设备,而不用理会具体的设备类型
112用画笔对象画线实例
使用GDI函数在DC上绘制线条时,DC上的当前画笔对象决定了线条的样式、粗细、颜色
113用画刷对象填充区域实例
当填充一个DC中的区域时,DC上的当前画刷决定了填充方式、填充颜色等信息
114输出文本实例
文本要显示出来,先要将其输出到DC上,本节介绍了Windows中提供的文本输出函数
115使用GDI+读取不同格式的图片实例
GDI+是Windows中提供的新的绘图接口,使用GDI+可以方便地打开不同格式的图片
116使用GDI+保存不同格式的图片实例
本节演示如果利用GDI+保存不同格式的图片,借此可以实现图片格式转换
117制作屏幕截图程序实例
屏幕截图是指在程序中取得当前屏幕DC,并将DC中的位图信息保存下来
118给图片增加版权信息实例
本节演示通过在图片中输出半透明文本,实现给图片增加版权信息的功能
第12章文件IO开发
121用基本API读写文件实例
Windows提供了基本的文件读写函数,利用这些函数可以打开、读取写入磁盘文件
122用MFC类读写文件实例
在MFC中,提供了一些用于处理文件的封装类,使用这些类可以减少编码的工作量
123监控硬盘上文件的变化实例
本节演示如何监控磁盘的指定目录,并当该目录中文件发生变化时,应用程序得到通知
124获取本机所有磁盘及其空间使用情况实例
本节演示如何通过API函数枚举得到本机所有磁盘列表,并获得每一个磁盘的空间使用情况的方法
125Unicode编码处理实例
Unicode是一种统一的文字编码方式,其中包含了全世界主要语言中的文字,使用Unicode可以解决不同语言之间文字交换时的乱码问题
126读写XML文件实例
XML是一种严格的标记语言格式,由于其语法严谨,在很多数据交换场合大量地使用了XML
127读写串口数据实例
利用串口传输数据,具有简单方便的特点,至今仍有大量应用,本节中演示了读写串口的方法
第13章数据库开发
131创建ODBC数据源实例
ODBC是一种统一的接口,提供了应用程序访问不同数据库的统一方法。本节演示如何在程序中动态地创建ODBC数据源
132使用ODBC访问数据库实例
本节演示通过ODBC访问数据库的具体方法
133使用ADO访问数据库实例
ADO是微软提供的较新的数据库访问接口,在性能上较有优势。本节演示使用ADO访问数据库的方法
134调用SQL Server的存储过程实例
存储过程是保存在数据库中的事先编译好的一段SQL命令语句,本节演示调用存储过程的方法
135事务处理SQL Server命令实例
如果有多条具有依赖性的SQL语句需要执行,为了防止产生错误的数据,可以用事务处理这些命令
136存取数据库中的图片实例
图片可以用二进制的方式保存到数据库中,本节演示了如何存取数据库中的图片对象
137在程序中动态生成Access数据库实例
Access数据库在实际使用中有着大量的应用,本节演示如何在应用程序中动态生成Access数据库
第14章网络开发
141建立UDP连接客户端实例
UDP是一种无连接的、不可靠的传输协议,用于对数据传输可靠性不高,而对数据传输效率要求较高的场合
142建立UDP连接服务器端实例
本节演示如何建立一个UDP连接服务器,并通过服务器和客户端通信
143建立TCP连接客户端实例
TCP是一种有连接、并且可靠的传输协议,在实际使用中有着大量的应用
144建立TCP连接服务器端实例
本节演示如何建立一个TCP连接服务器,并且接受客户端连接,实现和客户端通信
145MFC的SOCKET类使用实例
在MFC中,提供了一些封装类实现网络连接,使用这些类,可以减少编码的工作量
146注册自己的浏览器地址栏协议实例
本节演示了如何在系统中注册自己的浏览器地址协议,并通过该协议的请求,打开特定的应用程序
147抓取网页内容实例
本节演示了如何建立一个HTTP连接,并通过该连接抓取特定网址的网页内容
148基于ICMP的网络速度监控实例
ICMP是用来控制网络的协议,利用该协议,可以测算本机和远程主机之间的网络延时
第15章Windows高级编程
151鼠标HOOK制作实例
鼠标HOOK允许用户程序在当前消息链中注册一个回调函数,发生在指定范围内的鼠标消息将依次通过消息链中的回调函数
152用鼠标HOOK读取密码框中的内容实例
本节演示如何制作全局鼠标HOOK,并利用该HOOK获取外部程序中密码框的内容
153键盘HOOK制作实例
键盘HOOK允许程序定义一个回调函数,将此函数注册到HOOK列表中后,在键盘按下或松开时,函数就会得到调用
154用键盘HOOK屏蔽系统按键实例
本节演示了低级键盘钩子的使用方法,并实现了利用该钩子屏蔽系统按键
155用HOOK技术给对话框换肤实例
利用HOOK,可以实现拦截应用程序中的窗口绘制过程,从而实现用自己的方式绘制窗口
156分析DLL文件获取其导出函数列表实例
PE文件有固定的格式,通过分析PE文件,可以从一个DLL文件中获取其导出函数列表
第16章多媒体开发
161用基本API播放声音实例
本节演示用基本API播放处于磁盘或资源中的声音文件的方法
162用MCI播放音频实例
MCI是Windows提供的高层多媒体控制接口,本节实例程序利用该接口实现了一个简单的MP3播放器
163调用RealPlayer播放音频实例
Real格式是互联网上常见的音频和视频格式,本节演示播放这些媒体文件的方法
164在程序中录音实例
本节实例程序利用MCI实现了一个简单的录音程序
165在程序中显示动态的GIF动画实例
GIF动画由于体积小巧,在互联网上得到了广泛的应用,本节实例程序演示如何在应用程序中播放GIF动画
166在程序中播放Flash动画实例
Flash是互联网上应用最广泛的媒体之一,本节实例演示了如何在应用程序中播放Flash动画
167在程序中播放视频实例
本节实例程序演示了使用DirectShow接口播放视频文件的方法
168在程序中实现视频采集及截图功能实例
本节实例程序演示了使用DirectShow接口驱动视频采集设备,并将采集图像显示在应用程序界面上的方法
第17章ActiveX应用
171创建ActiveX控件实例
ActiveX控件是微软公司针对浏览器设计的OLE控件,ActiveX控件可以实现跨语言的代码重用
172为ActiveX控件增加属性和方法实例
本节演示在自己的ActiveX控件中添加属性和方法,使得控件可以接受外部参数
173在应用程序中使用ActiveX控件实例
本节演示如何在应用程序中引入ActiveX控件,并调用控件的属性和方法
174在浏览器中使用ActiveX控件实例
本节演示如何在浏览器中使用已经注册在系统中的ActiveX控件
175将ActiveX控件标记为安全实例
默认情况下浏览器会阻止未标记为安全的ActiveX控件运行,可以通过实现特定接口,将控件标记为安全
176在程序中注册和注销ActiveX控件实例
ActiveX控件在使用前必须注册到系统,本节演示如何在代码中实现注册和注销ActiveX控件
第18章发布应用程序
181制作帮助文件实例
帮助文件是应用程序的重要组成部分,本节讲解了制作CHM帮助文件的方法
182制作安装程序实例
应用程序发布时,需要提供一个安装程序,以引导用户将应用程序安装到系统中
183让应用程序界面支持多语言实例
本节演示编写支持多语言界面的应用程序,并可以使应用程序按照当前系统语言自动切换界面
184多语言的字符串常量实例
本节实例演示如何让代码中的字符串常量支持多语言
185制作多语言的安装程序实例
一个支持多语言界面的应用程序,在安装时也应该提供支持多语言的安装程序,本节实例演示了制作支持多语言安装程序的方法