第1章 开发工具与调试 1
如何快速地规范代码缩进格式 2
如何在Release状态下进行调试 2
如何修改开发环境的字体 3
如何获取网卡的地址 21 3
Assert和Vertify有什么区别 3
Release版和Debug版有什么不同 3
如何在非MFC程序中使用ClassWizard 4
如何设置条件断点 4
Workspace和Project之间是什么样的关系 4
在编辑状态下发现成员变量或函数不能显示提示时如何打开提示功能 5
如何将一个通过ClassWizard生成的类删除 5
如何将在workspace中消失的类找出来 6
如何清除所有的断点 6
如何在ClassWizard中选择未列出的消息 6
如何添加Lib文件到当前工程 7
如何整理ClassView视图中大量的类 7
如何查看一个宏(或变量、函数)的定义 7
如何检测程序中的括号是否匹配 7
#include〈FileName.h〉和#include“FileName.h”有什么区别 8
如何在工作区(Workspace)导入多个项目(Project) 8
如何快速删除项目下Debug文件夹中临时文件 8
如何快速生成一个与现有工程除了工程名外完全相同的新工程 9
如何解决VisualG++6.0不正确连接问题 9
引起LNK2001的常见错误都有哪些 9
如何调试Windows外壳扩展程序(ShellExtension) 10
如何调试一个没有原码的exe文件调用的dll 11
怎样设置栈的大小 11
如何使用VisualC++6.0中的快捷键 12
如何知道GetLastError()返回的错误代码的意义 12
VisualC++6.0工程中的项目文件都表示什么 13
第2章 VisualC++6.0编程基础 15
什么是匈牙利命名法 16
Windows编程中的句柄是什么 16
什么是回调函数以及如何使用它 18
内存泄漏主要由哪些原因引起的 18
如何发现内存泄漏 19
C++的const类型是如何使用的 19
指针和引用有什么区别 22
如何动态分配二维数组 23
纯虚函数是如何使用的 24
堆和栈有什么区别 25
两个类互为成员应该如何声明 26
bool和BOOL有什么区别 26
GlobalAlloc(),malloc()和new()有什么区别 26
如何使用关键字volatile 27
如何实现int与CString,char*与CString,float与CString之间的互相转化 27
什么是UNICODE以及如何使用它 28
C++中关键字typename有什么作用 29
关键字_stdcall和_cdecl有什么区别 30
第3章 对话框及控件的使用 31
如何创建和使用一个无模式对话框 32
为什么使用CRichEditCtrl控件的对话框不能显示出来 33
如何改变控件的字体 34
如何限制编辑框的准许字符 35
如何防止Edit框中的Password被非法获取 37
如何设置ClistCtr控件为可以整栏选择并且有网格条纹的报表形式 38
如何给CListCtrl控件增加列标题栏 39
如何给CListCtrl填充数据 39
如何实现CListCtrl中的排序问题 40
如何给CTreeCtrl填充数据 42
如何对CTreeCtrl中的节点文本进行编辑 43
如何实现调色程序 43
如何设定静态文本框的背景色和文本颜色 44
如何响应CSliderCtrl控件的拖动消息以及得到当前位置 45
如何使用CFileDialog对话框 46
如何使用CColorDialog对话框 47
如何使用CFontDialog对话框 47
如何避免CRichEditCtrl中显示中文乱码的问题 48
向列表框CListBox添加很多数据时如何防止闪烁 48
当列表框ClistBox的项目宽度超过了其自身窗口宽度时如何显示提示条 49
在给CComboBox的属性框中加入多项时如何换行 50
如何在下拉框里显示上几次程序运行的输入信息 51
怎样获得磁盘驱动器的序列号 1 53
如何改变对话框DoModai的返回值 54
怎样弹出选择目录的对话框 55
如何判定驱动器的文件系统类型 1 55
如何判定磁盘是光驱还是软驱 1 57
第4章 一般窗口及界面设计 57
如何生成任意形状的窗体 58
如何设定窗口的背景色 58
如何实现无标题窗口的拖动 59
如何使窗体透明 60
应该在哪儿创建临时文件 1 60
如何对INI文件进行读写 1 61
如何使窗体半透明 62
如何保持窗口的大小不变 64
如何使窗口始终位于所有窗口的最上面 64
如何改变窗口的默认风格 65
如何让窗体显示在中央 65
如何使窗口不可见 66
如何将文本倾斜显示 67
如何重置窗口的大小和位置 67
如何删除文件 1 68
如何制作立体字体 68
如何读写大型的二进制文件 1 69
串太长如何在末尾显示省略号 69
如何在对话框中加入工具条 70
如何在基于文档视图的工程中加入启动画面 71
如何在基于对话框的工程中使用Splash 71
如何将路径转换为长路径名 1 72
如何在对话框上动态创建视图 72
如何将某一区域设为光标热区 73
如何随时获得鼠标的窗口位置 74
如何随意改变光标的形状 75
如何使窗体右上角的系统按钮无效 76
如何控制鼠标的移动范围 76
屏幕保护程序的原理是什么 78
如何改变窗口的图标 78
应该如何制作屏幕保护程序 79
ODBC访问数据库的原理是什么 1 79
如何实现类似QQ程序的界面 82
如何在VisualC++6.0中用回车键切换输入焦点 82
如何一步一步地弹出和关闭窗口 85
如何弹出鼠标提示窗口 87
如何制作类似Windows任务栏的窗口 89
如何通过ADO的记录集修改记录信息 1 91
第5章 SDI和MDI窗口 92
如何切分窗口 93
文档、视图、框架窗口间的关系和消息传送规律是怎样的 93
如何固定视图间的分隔线 94
如何实现切分窗口中视图的动态切换 96
如何动态改变切分窗口的大小 96
OnDraw和OnPaint之间有什么关系 97
如何弹出右键菜单 98
如何给系统菜单添加一个菜单项 99
如何显示级联菜单 99
如何动态增加或删除菜单 101
如何将窗体顶端标题栏的右键菜单屏蔽掉 101
如何使菜单项前带图标 102
如何让工具条的按钮任意分组 104
如何隐藏CScrollView中的ScrollBar 104
如何给工具条增加一个下拉按钮以及如何响应单击下拉按钮的消息 105
如何实现工具栏上的下压式按钮 107
如何在同一行上停靠两个工具条 108
如何在工具栏中放CComboBox控件 110
如何使能和禁止工具条的工具提示 110
如何将系统时间在状态栏上显示 112
如何让MDI窗口一启动时就最大化或者最小化 114
如何使MDI启动时不生成子窗口 114
如何改变窗口框架的颜色 115
怎样得到主框架窗口指针 116
如何实现全屏显示 116
当文档被修改时,如何在标题上加上标志“*” 118
怎样判断获得的视图指针是哪一个类 118
如何取得MDI应用程序中每个视图的指针 119
第6章 消息系统、钩子函数及DLL 120
如何自定义消息 121
应用程序传送的消息有哪些以及有什么区别 121
如何将几个菜单项的消息处理函数放入一个函数中 122
消息WM_NOTIFY是如何使用的 123
是不是只要是CWnd对象就一定有消息循环 124
在对话框中为什么不响应按下向下箭头键(VK_DOWN)和向右箭头键(VK_RIGHT)的消息 124
VisualcC++6.0可以编写哪几种dll 125
VisualcC++6.0如何编写Non-MFCDlls 125
VisualcC++6.0如何编写RegularDlls. 126
VisualcC++6.0如何编写ExtensionDlls 127
如何调用DLL 128
怎样从MFC扩展动态链结库(DLL)中显示一个对话框 129
为了定位DLL.Windows搜索目录的顺序是怎样的 129
Win32中全局钩子的运行机制是怎样的 130
如何获知鼠标移开某个窗口 131
VisualC++6.0中全局共享数据是如何实现的 131
如何记录键盘的所有按键信息 134
如何用按钮模拟鼠标的点击 135
如何用按钮模拟键盘的输入 136
如何制作软键盘的应用程序 137
如何知道自己的工程中调用哪几个DLL文件 151
第7章 磁盘路径与文件操作 152
如何获得系统的所有磁盘驱动器 153
如何获得磁盘空间信息 156
如何确定应用程序的路径 160
如何遍历目录下的每一个文件 163
如何将内容不为空的目录删除 164
如何在txt文件中逐行读写数据 165
如何在特定目录下查找某个文件 165
如何获得文件的属性 167
如何拷贝文件 168
如何移动文件 169
如何快速创建一个大文件 170
如何在VisualC++6.0中使用fopen()函数来读写文件 172
如何用VisualC++6.0编写文件分割工具 174
第8章 数据库 178
一致的数据访问技术ADO与OLEDB的原理以及它们的关系是怎样的 180
如何在程序中动态得到字段的数据类型 183
如何手动注册数据源 184
如何在程序中实现数据源的注册 185
在VisualC++6.0中如何利用UDL文件来建立ADO连接 187
如何通过ADO接口连接数据库 188
如何通过ADO的记录集获得每条记录的信息 189
如何用SQL语句按时间检索 191
如何用SQL语句按字符串检索 193
如何在SQL语句中将多个字符串作为检索条件 194
如何执行嵌套的SQL语句 196
如何访问存有图像字段的数据库 199
如何在VisualC++6.0中建立自定义数据库类 201
ODBC数据库编程中DDX和RFX有什么区别 203
如何用VisualC++6.0开发基于Oracle数据库的应用程序 204
如何直接通过ODBC读、写Excel表格文件 206
在VisualC++6.0中如何访问MySQL数据库 208
第9章 网络与通信 212
什么是RFC 213
如何获得IP地址和主机名 215
如何对某些端口进行扫描 216
如何实现连续多次的Ping命令 218
如何像OutLook一样收发电子邮件 223
如何连接FTP服务器 224
如何获得FTP服务器的文件列表 225
如何下载FTP服务器上的文件 227
如何给FTP服务器上传文件 228
什么是WindowsSockets规范 229
什么是套接口 230
TCPsocket和UDPsocket的区别是怎样的 230
如何用有连接的方式实现聊天室 231
如何用无连接的方式实现系统广播 236
如何实现Proxy服务器 238
如何下载网页 244
如何在应用程序中映射网络驱动器 246
如何实现电话拨号上网 247
如何删除Internet临时文件 248
如何列出系统打开的所有IE窗口的标题 250
如何设置某个已经打开的IE窗口的标题 252
如何清空IE的历史记录 253
如何实现IE中的添加收藏夹的功能 254
第10章 图形图像及打印控制 255
如何对图形进行局部放大 256
BeginPaint和GetDC获得的DC有什么区别 256
如何获取屏幕上某点的颜色 256
位图文件的结构是怎样的 257
如何通过位图文件直接得到位图的大小 258
如何通过位图文件显示位图 259
如何将DIB位图写入位图文件 261
BitBlt和StretchBlt函数有什么区别 262
如何利用掩码位图制作透明图片 263
什么是掩码位图以及如何创建 263
如何绘制半透明位图 265
如何缩放图片 266
如何将转换DIB位图为DDB位图 271
如何将转换DDB位图为DIB位图 273
如何截取屏幕 275
如何任意裁剪图片 280
如何用特定色填充某一区域 281
如何复制位图到剪贴板 283
物理坐标和逻辑坐标有什么区别,它们是如何转换的 284
什么是COLORREF 284
如何画一个1/4圆 285
如何画箭头 285
如何避免屏幕闪烁 286
如何产生复杂线条 287
如何显示JPG和GIF图像 288
怎样定制通用打印对话框CPrintDialog来实现打印功能 290
如何简易实现所见即所得的打印 291
如何确定当前打印机的页面大小和方向 292
如何确定打印队列的状态 294
第11章 操作系统 296
如何获得Windows的版本号 297
如何得到当前Windows是不是安全模式 299
如何查询注册表中的键 299
如何修改注册表中的键 301
如何在注册表中增加键 302
如何删除注册表中的键 303
如何对屏幕分辨率进行控制 303
如何获得系统运行的所有进程 305
如何在任务列表中隐藏应用程序 307
如何获取本机的硬件配置 308
如何用代码实现重启和关闭计算机 310
如何罗列出系统中已经安装的所有可用字体 310
Windows系统关闭的时候都发生了什么消息 312
如何得到当前Windows用户 313
如何格式化磁盘 316
如何用代码增加快捷键 318
如何编写需要密码验证的应用程序 319
如何调用帮助文件(*.chm) 321
如何修改Windows的右键菜单 321
如何在程序中改变Windows的桌面壁纸 322
Windows9x下如何直接访问物理内存 323
如何获取快捷方式(Ink)的目标和参数 326
WindowsNT/2000系统中如何获取系统的启动时间 327
第12章 线程及进程控制 329
如何创建一个线程 330
进程和线程有什么关系 330
如何终止一个线程 331
如何设定线程的相对优先级 331
如何挂起和恢复线程 332
如何用通过剪贴板在进程间交换数据 332
如何通过内存映像文件在进程间交换数据 334
如何通过消息实现进程间的通信 336
如何获得其他应用程序的图标 338
如何获取应用程序的实例句柄 338
如何获得应用程序主窗口的指针 338
怎样启动其他的应用程序 339
如何关闭其他已经打开的程序 341
如何用默认浏览器打开某个url的网页 342
如可创建向导程序 343
如何编写系统托盘程序 345
如何让应用程序在系统中只能存在一个运行的实例 347
第13章 时间控制 349
如何计算时间差 350
程序中如何嵌入日历 350
如可获得毫秒级的系统时间 351
如何让定时器精确到毫秒 351
如何对当前的系统时间进行操作 353
如何获得和修改目录的日期和时间 354
第14章 数学算法 357
如何统计一段中英文混合字符的字符数 358
中文和英文字符所占的字节数是一样的吗 358
排序法都有哪些,其算法都是怎样的 359
如何将十进制字符串、十六进制字符串和二进制字符串互相转化 360
如何随机选号 363
第15章 发布程序 367
如何给软件加密和解密 368
如何使程序在开机时就自动运行 370
如何创建快捷方式 370
如何删除快捷方式 373
如何在程序中用代码注册和卸载ocx控件 374