图书介绍
Windows编程实战 基础练功篇2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 程秉辉,JohnHawke合著 著
- 出版社: 北京:科学出版社
- ISBN:7030145259
- 出版时间:2005
- 标注页数:422页
- 文件大小:36MB
- 文件页数:442页
- 主题词:
PDF下载
下载说明
Windows编程实战 基础练功篇PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
本书适用读者与准备工作(Prepare and Ready)1
C、C++的用户1
目录1
VB的用户3
其他语言用户4
本书操作范例说明4
准备相关工具5
第1章 工欲善其事必先利其器9
1-1 语言的选择与迷失9
Part1 基础、观念与盲区(Basic,Concept and Bottle Neck) 9
1-2 工具的使用与盲区10
1-3 Windows、API与MFC的心手相连12
1-4 API与MFC的优缺点与最佳相连13
1-5 为何要了解SDK?14
1-6 版本的更新与考虑15
第2章 事件驱动观念与Windows程序17
2-1 Windows与各程序的关系17
2-2 Windows的神经组织…事件驱动(Event Driven)17
2-3 MFC的包装、角色与面向对象……………………………………………19 17
2-4 被动与主动…与DOS程序的比较DOS20
2-5 对程序员的优缺点21
第3章 名词、观念与盲区23
3-1 名词解说与作用23
3-2 Device Context(DC)观念说明24
3-3 Valid、Invalid Area与WM_PAINT消息…………………25 28
Q A总集28
Q:面对C、C++、C#、VB、Java…等各种语言,我要学那一种?28
Q:VC++、BC++、Visual .NET、C++ Builder…等各种工具,如何依照自己的需求来选择?…………28 Q:Windows系统与我的程序如何进行沟通与消息传递?………………………28Q:MFC是如可包装SDK?程序员要如何创建正确的观念?28
Q:我的程序要如何知道用户按了某个按键或用鼠标点了什么东西?30
Q:Windows的消息驱动架构对程序员有何优缺点?31
Q:Windows程序与DOS程序在设计的观念上有何不同?31
Q:Client Area、Invalid Area、Device Context…到底是指什么?有何意义与作用32
Part2 构思、成形与主编程(Design and Programming for Main Program)第4章 想出你的程序大纲32
4-1 要有什么功能35
4-2 绘出功能组织图36
4-3 设计用户操作37
第5章 写出主程序架构…使用SDK39
5-1 自己创建主架构39
5-2 主窗口属性(Class)41
5-2-1 WNDCLASS的style盲区解说42
5-2-3 WNDCLASS与WNDCLASSEX的差异47
5-3 创建主窗口47
5-2-2 系统已创建好的Class47
5-3-1 窗口外观(style)的盲区解说48
5-3-2 扩充外观(cxtended window style)的盲区解说56
5-4 依照我们的需求来设计59
5-4-2 各功能编程60
5-4-3 菜单操作设计60
5-4-1 初始设置…WinMain()要放什么?!60
5-4-4 按键操作设计61
5-5 加入本书的函数库61
5-6 编译(Compiler)与链接(Link)说明61
第6章 写出主程序架构…使用MFC63
6-1 使用MFC的观念与盲区说明63
6-2 Windows系统与MFC程序关系图解63
6-2-1 MFC程序结构64
6-2-2 系统与程序流程66
6-3 使用AppWizard产生程序架构67
6-4-1 更改主窗口与初始设置70
6-4 依照我们的需求来更改70
6-4-2 更改菜单71
6-4-3 更改按键操作72
6-4-4 更改工具栏按钮72
6-5 程序的精简化72
6-6 加入本书的函数库73
6-7 编译(Compiler)与链接(Link)说明74
第7章 菜单操作设计76
7-1 菜单、按键与程序码的关联…功能代码ID76
7-2 MFC的菜单设计78
7-3 SDK的菜单设计80
第8章 按键操作设计81
8-1 MFC的菜单设计81
8-2 SDK的菜单设计83
第9章 工具栏按钮设计(MFC程序适用)84
9-1 MFC工具栏按钮的运作方式84
9-2 更换自己的图片84
9-3 设置自己的ID85
Q:AppWizard产生的程序如何针对我的设计需求来修改?86
Q:学习MFC设计程序有那些观念与盲区必须搞清楚?86
Q:Windows 系统如何通过MFC来控制我的MFC程序?86
Q:如何构思与设计出程序的架构与草图?86
Q A总集86
Q:为何我学习MFC有东一块、西一块…很不连贯的感觉?如何克服?86
Q:WNDCLASS结构中style的项目代表什么意思?会对窗口造成什么影响?87
Q:为什么我的程序收不到用户的双击鼠标(WM_LBUTTONDBLCLK)信息?87
Q:我要如何设置默认的窗口关闭功能不可用(按下Alt+F4、按下?按钮、选择系统菜单中的关闭)?87
Q:为何我无法设置WNDCLASS中的CS_DROPSHADOW属性,如何解决?87
Q:为何我设计的窗口不可用鼠标拖拉的操作?88
Q:如何设计出有?按钮的窗口?为何我窗口中的?按钮没显示出来或无法按下?88
Q:如何设计出我想要的窗口(例如:不要系统菜单、无法改变窗口大小、无法放大或缩小、不要滚动轴…等)?88
Q:如何让我的主窗口一直保持在最上层?我已经设置窗口在最上层为何还会被其他窗口遮盖?89
Q:如何设计一个运行后没有窗口、完全看不到,用户也感觉不到,躲在阴暗角落默默运行的程序?89
Q:如何更改AppWizard产生的主窗口外观(例如:无法放大缩小、不要系统菜单、没有边框)…等?91
Q:CreateWindow()与CreateWindowEx()的差异为何?91
Q:如何设计菜单?菜单与程序码是如何产生关联?91
Q:如何设计指定的按键(或组合键)来操作某功能?按键与程序码是如何产生关联?91
Q:如何设计工具栏按钮?如何将工具栏按钮链接到我的程序中使用?91
Part3 系统信息设计(Programming for S?stem Information)96
第10章 Windows系统信息96
10-1 Windows的详细名称96
10-2 版本号码、用户、公司单位、系统与安装文件夹101
10-2-1 由注册表中获取102
10-2-2 获取注册表中的值(Registry Value)103
10-2-3 RegOpenKeyEx()使用上的盲区说明104
10-3 调用API获取108
10-4 获取缓存文件夹108
10-5 加入C/SDK程序中109
10-5-1 判断代码ID与显示前准备109
10-5-2 获取与显示Windows系统信息112
10-6 加入MFC程序中114
10-6-1 加入Member Function的迷失?!115
10-6-2 创建Member Function与信息处理116
10-6-3 获取与显示Windows系统信息117
第11章 CPU信息122
11-1 CPU数目122
11-2 CPU名称、速度、标识信息与生产厂商122
11-3 更精确的判断CPU种类125
11-4 加入C/SDK程序中126
11-4-1 判断代码ID与显示前准备127
11-4-2 获取与显示CPU信息128
11-5 加入MFC程序中130
11-5-1 创建Member Function与信息处理131
11-5-2 获取与显示CPU信息132
第12章 BIOS信息135
12-1 BIOS名称、版本、日期与种类135
12-2 加入C/SDK程序中139
12-2-1 判断代码ID与显示前准备139
12-2-2 获取与显示BIOS信息141
12-3 加入MFC程序中142
12-3-1 创建Member Function与信息处理143
12-3-2 获取与显示BIOS信息144
13-1 系统日期与时间146
第13章 日期、时间与时钟146
13-2 时钟的设计147
13-3 加入C/SDK程序中148
13-3-1 判断代码ID与显示前准备148
13-3-2 获取与显示日期、时间150
13-3-3 电子时钟与WM_TIMER处理151
13-4 加入MFC程序中153
13-4-1 创建Member Function与信息处理154
13-4-2 获取与显示日期、时间155
13-4-3 计时器的使用与OnTimer()函数156
GetWindowsInformation()函数的使用159
第14章 本章函数使用说明159
GetCPUNumber()函数的使用164
GetCPUInfo()函数的使用165
GetBIOSInfo()函数的使用168
GetDateTime()函数的使用171
Q A总集174
Q:如何获取最详细的Windows系统名称?174
Q:使用GetVersionEx()API函数有什么盲区要特别注意?为何我不可用OSVERSIONINFOEX结构?为什么我的VC++定义的OSVERSIONINFOEX结构中没有wSuiteMask与wProductType?174
Q:GetVersionEx()好像无法判断WinXP与.Net服务器版本,有何解决方式?174
Q:如何判断所获取的项值是那种数据(REG_SZ、REG_MULTI_SZ、REG_DWORD…等)?175
Q:如何决定我写的函数要放在那个Class中(成为某个Class的成员函数,Member Function)?CWinApp、CFrameWnd、CDocument还是CView?为什么?175
Q:当使用需要设置颜色的API函数时(如:SetTextColor()、SetBkColor()…等),需要以RGB值来设置颜色,我要如何知道任何颜色的RGB值呢?175
Q:如何获取注册表中REG_MULTI_SZ(字符串阵列)的数据,然后转成一般字符串?175
Q:RegQueryValueEx()都是以LPBYTE获取项值,那要如何获取REG_DWORD的数据?175
Q:如何获取注册表中任何一个项值(Registry Value)?175
Q:如何精确的判断CPU是那一种型号?………………………………176 176
Q:使用GetSystemTime()API函数有什么盲区要特别注意?176
Q:如何利用系统计时器(Timer)来设计时钟?176
15-2 程序、虚拟与物理内存的运作关系179
15-1 物理内存179
第15章 Windows的内存管理179
Part 4 内存信息(Programming for Memory Information)179
虚拟内存替换…LRU法182
15-3 提高内存与系统性能183
第16章 内存信息185
16-1 获取内存信息185
为何使用GlobalMemoryStatus()比较好?186
16-2 加入C/SDK程序中187
16-2-1 判断代码ID与显示前准备187
16-2-2 获取与显示内存信息188
16-3-1 创建Member Functin与信息处理190
16-3 加入MFC程序中190
16-3-2 获取与显示内存信息191
第17章 本章函数使用说明194
GetMemoryInfo()函数的使用194
Q A总集198
Q:虚拟内存的原理为何?198
Q:程序、虚拟内存与物理内存的关系为何?198
Q:如何调整内存来提升系统性能?198
Q:如何获取目前生存(RAM)与虚拟内存(Virtual Memory)的信息?198
Q:GlobalMemoryStatus()与GlobalMemoryStatusEx()有何不同?为何使用GlobalMemoryStatus()比较好?198
18-1 磁盘种类判断201
Part 5 保存设备信息(Programming for Storage Information)201
第18章 各类磁盘信息201
讨论与研究203
18-2 标签名称与文件系统204
18-3 总容量与可使用量205
18-4 更深入的研究207
18-5 加入C/SDK程序中208
18-5-1 查看所有保存设备209
18-5-2 动态菜单与WM_INITMENUPOPUP信息211
18-5-3 判断代码ID与显示前准备214
18-5-4 获取与显示磁盘信息217
18-6 加入MFC程序中223
18-6-1 查看所有保存设备224
18-6-2 改变菜单与按钮…ON_UPDATE_COMMAND_UI与CCmdUI226
18-6-3 创建Member Function与信息处理231
18-5-4 获取与显示磁盘信息233
第19章 本章函数使用说明241
GetDriveInfo()函数的使用241
Q:使用GetVolumeInformation()有什么特别要注意的地方?246
Q:如何获取指定磁盘的种类、标签名称、文件系统、总容量与剩余量?246
Q:如何判断软盘、随身盘、ZIP磁盘或磁带机?GetDriveType()并没有告诉我啊?246
Q:使用GetDriveType()要注意那些地方?246
Q A总集246
Q:GetDiskFreeSpace()与GetDiskFreeSpaceEx()有何不同?为何使用GetDiskFreeSpaceEx()比较好?247
Q:我希望菜单随着某些状态而动态改变(例如:可选定或不可选定),要如何设计?247
Q:我希望工具栏按钮随着某些状态而改变(例如:可按下或不可按),要如何设计?……………247 Q:如何使用ON_UPDATE_COMMAND_UI与CCmdUI来更改菜单项目或工具栏按钮的状态?…………247 Part 6 输出入设备信息(Programming for Input and Output Device Information)247
20-1 名称与种类252
讨论与研究256
20-2 加入C/SDK程序中256
20-2-1 判断代码ID与显示前准备257
20-2-2 获取与显示键盘信息258
20-3 加入MFC程序中260
20-3-1 创建Member Function与信息处理260
20-3-2 获取与显示键盘信息261
第21章 鼠标信息264
21-1 名称与种类264
讨论与研究266
21-2 按键数目与滚轮266
讨论与研究267
21-3-1 动态菜单与WM_INITMENUPOPUP信息268
21-3 加入C/SDK程序中268
21-3-2 判断代码ID与显示前准备271
21-3-3 获取与显示鼠标信息272
21-4 加入MFC程序中274
21-4-1 改变菜单与按钮…ON_UPDATE_COMMAND_UI与CCmdUI274
讨论与研究278
21-4-2 创建Member Function与信息处理279
21-4-3 获取与显示鼠标信息280
22-1 显卡名称、种类、版本与日期282
第22章 显卡与屏幕信息282
讨论与研究286
22-2 屏幕名称、分辨率与刷新频率287
22-2-1 屏幕名称287
讨论与研究290
22-2-2 分辨率与刷新频率291
讨论与研究292
22-3 加入C/SDK程序中293
22-3-1 判断代码ID与显示前准备293
22-3-2 获取与显示显卡与屏幕信息295
22-4-1 创建Member Function与信息处理297
22-4 加入MFC程序中297
22-4-2 获取与显示显卡与屏幕信息298
第23章 打印机与传真信息302
23-1 打印机或传真机数目302
23-2 名称、单彩色、端口、驱动程序、分辨率303
23-2-1 打印机处理器306
23-2-2 单颜色的判断306
23-2-3 分辨率的判别306
23-3 讨论与研究…获取更多的信息308
23-4 加入C/SDK程序中310
23-4-1 动态菜单与WM_INITMENUPOPUP信息310
23-4-2 判断代码ID与显示前准备314
23-4-3 获取与显示打印机或传真机信息315
23-5 加入MFC程序中317
23-5-1 查看打印机与传真机318
23-5-2 改变菜单与按钮…ON_UPDATE_COMMAND_UI与CCmdUI320
23-5-3 创建Member Function与信息处理323
23-5-4 获取与显示打印机或传真机信息324
第24章 本章函数使用说明327
GetKeyboardInfo()函数的使用327
GetMouseInfo()函数的使用329
GetVCardInfo()函数的使用332
GetMonitorInfo()函数的使用335
GetPrinterNumber()函数的使用338
Q:如何查看是否有安装鼠标或类似的设备?343
Q:GetKeyboardType()无法获取键盘的完整中文名称,要怎么办?343
Q:如何获取目前使用鼠标设备的详细名称?343
Q:如何找出目前使用的键盘名称或种类?343
Q A总集343
Q:如何获取已安装打印机或传真机的相关信息(如:名称、端口、驱动程序名、分辨率)?344
Q:如何获取屏幕的相关信息(如:名称、分辨率、刷新频率)?344
Q:如何判断单色或彩色打印机?344
Q:如何判断打印机分辨率是Xx Y dpi(如:600 x 600 dpi)还是简单的说明(如:高分辨率、中分辨率)?……………344 Q:为何我调用EnumPrinters()都失败?如何解决?344
Q:如何获取显卡的相关信息(如:名称、设计厂商、ROM版本…等)?344
Q:如何找出鼠标的按键数目与是否有滚轮?344
Q:如何判断目前打印机的状态(卡纸、正在打印、未连接)?345
Q:PRINTER ATTRIBUTE_FAX属性只能用在WinXP,那其他Windows版本要如何判断呢?345
Q:如何获取打印机的纸张大小、送纸方式、直横向?345
Q:如何获取当前默认打印机名?345
Q:如何判断打印机与传真机?345
Part 7 其他操作设计(Programming for Other Functions)349
第25章 重画问题349
25-1 Windows对窗口的重画处理349
25-2 WM_PAINT的处理350
25-3 MFC的不同之处…OnDraw()352
OnPaint()与OnDraw()的差异354
25-4 讨论与研究355
第26章 “关于…”窗口设计356
26-1 挑战与训练356
26-2-1 加入系统菜单357
26-2-2 处理WM_SYSCOMMAND信息359
26-2-3 对话窗处理程序与制作360
调整对话窗位置364
26-3 加入MFC程序中365
26-3-1 加入系统菜单366
26-3-2 OnSysCommand()的创建与设计367
26-3-3 对话窗处理程序与制作369
第27章 “退出”操作设计371
27-1 挑战与训练371
27-2 加入C/SDK程序中372
27-3 加入MFC程序中374
第28章 字体的创建、选择与显示377
28-1 创建自己要的字体377
28-2 字体的选择与显示383
TextOut()、ExtTextOut()、DrawText()、DrawTextEx()比较与研究384
Q A总集387
Q:当遮盖我程序的窗口移开后,我要如何重新显示被遮盖的内容?387
Q:如何处理系统传来的WM_PAINT信息进行重画?387
Q:当窗口内容需要重画时应该处理OnPaint()还是OnDraw()?为什么?这两者有何差别?387
Q:我要如何添加、更改或删除系统菜单(System Menu)中的项目?387
Q:我改写WM_SYSCOMMAND信息的处理函数OnSysCommand(),为何不成功?为何造成所有菜单无法操作?如何解决?388
GetPrinterInfo()函数的使用388
Q:我要如何调整对话窗(Dialogbox)在主窗口中的显示位置?388
Q:Windows系统在关闭一个窗口前时会送出那些信息?389
Q:我希望由我的程序来决定是否要关闭窗口,而不让用户按下Alt+F4或左上角?按钮就关闭,要如何做?389
Q:使用API函数CreateFont()或CFont::CreateFont函数,有那些注意事项?391
Q:如何创建固定宽度(或不固定宽度)的字体?391
Q:如何找出所有使用的字体名称?391
Q:选择使用CreateFont()所创建的英文字体就无法显示中文(或简体字、日文、韩文)吗?391
Q:为何我使用CreateFont()创建英文字体(例如:Arial)却无法显示中文(或简体字、日文、韩文)而是乱码?如何解决?391
Q:TextOutz()、ExtTextOut()、DrawText() DrawTextEx()四个API函数有何差异?各适用在什么情况下?392
热门推荐
- 406702.html
- 3469914.html
- 1467846.html
- 13023.html
- 1606352.html
- 3611982.html
- 1045234.html
- 1931654.html
- 3350301.html
- 972511.html
- http://www.ickdjs.cc/book_2880688.html
- http://www.ickdjs.cc/book_3230162.html
- http://www.ickdjs.cc/book_979332.html
- http://www.ickdjs.cc/book_3293336.html
- http://www.ickdjs.cc/book_2090570.html
- http://www.ickdjs.cc/book_3410398.html
- http://www.ickdjs.cc/book_1189566.html
- http://www.ickdjs.cc/book_1230383.html
- http://www.ickdjs.cc/book_3425361.html
- http://www.ickdjs.cc/book_1836977.html