| |
| 《Windows编程实战基础练功篇(1CD)(4721)》 | |
| |
| |
内容简介 本系列图书Windows编程在各种不同领域练功的书(网络、游戏、系统、数据库、多媒体……等),将作者十几年的编程功力与经验告诉各位读者,让读者Windows编程功力迅速提升到高手境界。 本书写作过程中深入研究了如何针对各位读者在实用上的需求来编写,特别是在各种API函数的使用、Messages的观念与应用、SDK与MFC相辅相成、编程技巧等方面,让你能简单、迅速、无负担的学会这些内容。主要内容分为:编程准备工作,编程基础、观念与盲区,构思、成形与主编程,系统信息设计,内存信息,保存设备信息,输出入设备住处其他操作设计。同时,说明了同样功能在C/SDK的设计方式,这对于WindowsAPI消息(Messages)的使用与掌握将更加事半功倍,所以程序解说则有C/DAK与MFC两种设计。本书光盘包含C、C++、C#、VB都可使用的函数库和本书讲解的所有代码。
| |
|
顾客评论 |
|
目录
本书适用读者与准备工(Prepare and Ready) C、C++的用户 VB的用户 其他语言用户 本收操作范例说明 准备相关工具 Part 1基础、观念与盲区(Basic,Concept and Bottle Neck) 第1章 工欲善其事必先利其器 1-1 语言的选择与迷失 1-2 工具的使用与盲区 1-3 Windows、API与MFC的心手相连 1-4 API与MFC优缺点与最佳组合 1-5 为何要了解SDK? 1-6 版本的更新与考虑 第2章 事件驱动观念与Windows程序 2-1 Windows与各程序的关系 2-2 Windows的神经组织……事件驱动(Even Drivent) 2-3 MFC的包装、角色与面向对象 2-4 被子动与主动……与DOS程序的比较 2-5 对程序员的优缺点 第3章 名词、观念与盲区 3-1 名词解说与作用 3-2 Device Context (DC)观念说明 3-3 Valid、Invalid Area与WM_PAINT消息 Q&A总集 Q:面对C、C++、C#、VB、Java……等各种语言我要学那一种? Q:VC++、BC++、Visual.NET、C++Builder……等各种工具,如何依照自己的需求来选择? Q:Windows系统与我的程序如何进行沟通与消息传递? Q:MFC是如何包装SDK?程序员要如何创建正确的观念? Q:我的程序要如何知道用户按了某个按键或用鼠标点了什么东西? Q:Windows程序与DOS程序在设计的观念上有何不同? Q:Windows的消息驱动架构对程序员有何优缺点? Q:Client Area、Invalid Area、Device Context……到底是指什么?有何意义与作用? Part 2 构思、成形与编程Design and Programming for Mainm Program) 第4章 想出你的程序大纲 4-1 要有什么功能 4-2 绘出功能组织图 4-3 设计用户操作 第5章 写出主程序架构……使用SDK 5-1 自己创建主架构 5-2 主窗口属性(Class) 5-2-1 WNDCLASS的style盲区解脱 5-2-2 系统已创建好的Class 5-2-3 WNDCLASS与WNDCLASSEX的差异 5-3 创建主窗口 5-3-1 窗口外观(style)的盲区解脱 5-3-2 扩充外观(extended windows style)的盲区解脱 5-4 依照我们的需求来设计 5-4-1 初始设置……WinMain()要放什么?! 5-4-2 各功能编程 5-4-3 菜单操作设计 5-4-4 按键操作设计 5-5 加入本书的函数库 5-6 编译(Compiler)与链接(Link)说明 第6章 写出主程序架构……MFC 6-1 使用MFC的观念与盲区说明 6-2 Windows系统与MFC程序关系图解 6-2-1 MFC程序结构 6-2-2 系统与程序流程 6-3 使用AppWizard产生程序架构 6-4 依照我们的需求来更改 6-4-1 更改主窗口与初始设置 6-4-2 更改菜单 6-4-3 更改按键操作 6-4-4 更改工具栏按钮 6-5 程序的精简化 6-6 加入本书的函数库 6-7 编译(Compiler)与链接(Link)说明 第7章 菜单操作设计 7-1 菜单、按键与程序码的关联……功能代码ID 7-2 MFC的菜单设计 7-3 SDK的菜单设计 第8章 按键操作设计 8-1 MFC的菜单设计 8-2 SDK的菜单设计 第9章 工具栏按钮设计(MFC程序适用) 9-1 MFC工具栏按钮的运作方式 9-2 更换自己的图片 9-3 设置自己的ID Q&A总集 Q:如何构思与设计出程序的架构与草图? Q:为何我学习MFC有东一块、西一块……很不连贯的感觉?如何克服? Q:学习MFC设计程序有那些观念与盲区必须搞清楚? Q:Windows系统如何通过MFC来控制我的MFC程序? Q:AppWizard产生的程序如何针对我的设计需求来修改? Q:WNDCLASS结构中的style的各项目代表什么意思?会对窗口造成什么影响? Q:为什么我的程序收不到用户的双击鼠标(WM_LBUTTONDBLDLK)信息? Q:我要如何设置默认的窗口关闭功能不可用(按下Alt+F4、按下X按钮、选择系统菜单中的关闭? Q:为何我无法设置WNDCLASS中的CS_DROPSHADOW属性,如何解决? Q:如何设计出我想要的窗口例如:不要系统菜单、无法改变窗口大小、无法放大或缩小,不要滚动轴……等)? Q:为何我设计的窗口不可用鼠标拖拉的操作? Q:如何设计出有?按钮的窗口为何我窗口中的?按钮没显示出来或无法按下? Q:如何让我的主窗口一直保持在最上层?我已经设置窗口在最上层为何还会被其他窗口遮盖? Q:如何设计一个运行后没有窗口完全看不到,用户也感觉不到,躲在阴暗角落默默运行的程序? Q:如何更改AppWizard产生的主窗口外观(例如:无法放大缩小、不要系统菜单、没有边框)等? Q:CreateWindows(与CreateWindowsEx()的差异为何? Q:如何设计菜单?菜单与程序码是如何产生关联? Q:如何设计工具栏按钮?如何将工具栏按钮链接到我的程序中使用? Part 3 系统信息(Programming for System Information) 第1章 Windows系统信息 1-1 Windows的详细名称 1-2 版本号码、用户、公司单位、系统与安装文件夹 1-2-1 由注册表中获取 1-2-2 获取冰同表中的值(Registry Value) 1-2-3 RegOpenKeyEx()使用上的盲区说明 1-3 调用API获取 1-4 获取缓存文件夹 1-5 加入C/SDK程序中 1-5-1 判断代码ID与显示前准备 1-5-2 获取与显示Windows系统信息 1-6 加入MFC程序中 1-6-1 加入Member Function的迷失?! 1-6-2 创建Member Function与信息处理 1-6-3 获取与显示Windows系统信息 第11章 CPU信息 11-1 CPU数目 11-2 CPU名称、速度、标识信息与生产厂商 11-3 更精确的判断CPU种类 11-4 加入C/SDK程序中 11-4-1 判断代码ID与显示前准备 11-4-2 获取与显示CPU信息 11-5 加入MFC程序中 11-5-1 创建Member Function与信息处理 11-5-2 获取与显示CPU信息 第12章 BIOS信息 12-1 BIOS名称、版本、日期与种类 12-2 加入C/SDK程序中 12-2-1 判断代码ID与显示前准备 12-2-2 获取与显示BIOS信息 12-3 加入MFC程序中 12-3-1 创建Member Function与信息处理 12-3-2 获取与显示BIOS信息 第13章 日期、时间与时钟 13-1 系统日期与时间 13-2 时钟的设计 13-3 加入C/SDK程序中 13-3-1 判断代码ID与显示前准备 13-3-2 获取与显示日期、时间 13-3-3 电子时钟与WM_TIMER处理 13-4 加入MFC程序中 13-4-1 创建Member Function与信息处理 13-4-2 获取与显示日期、时间 13-4-3 计时器的使用与OnTimer()函数 第14章 本章函数使用说明 GetWindowsInformation()函数的使用 GetCPUNumber()函数的使用 GetCPUInfo()函数的使用 GetBIOSInfo()函数的使用 GetDateTime()函数的使用 Q&A总集 Q:如何获取最详细的Windows系统名称?Q:使用GetVersionEx()API函数有什么特别注意?为何我不可用OSVERSIONINFOEX结构?为什么我的VC++定义的OSVERSIONINFOEX结构中没有wSuiteMask与 PT? Q:GetVersionEx()好像无法判断WinXP与.Net服务器版本,有何解决方式? Q:如何获取注册表中任何一个项值(Registry Value)? Q:如何获取注册表中REG_MULTI_SZ(字符串阵列)的数据,然后转成一般字符串? Q:RegQueryValueEx()都是以上LPBYTE获取项值,那要如何获取REG_DWORD的数据? Q:如何判断所获取的项值是那种数据库(REG_SZ、REG_MULTI_SZ、REG_DWORD……等)? Q:当使用需要设置颜色的API函数时(如:SetTextColor()、SetBkColor()等),需要以RGB值来设置颜色,我要如何知识任何颜色的RGB值呢? Q:如何决定我写的函数要放在那个Class中(成为某个Class的成员函数,Member Function)?CWinApp、CFrameWnd、CDocument还是CView?为什么?…… Q:如何精确的判断CPU是哪一种型号? Q:使用GetSystemTime()API函数有什么盲区要特别注意? Q:如何利用系统计时器(Timer)来设计时钟? Part 4 内存信息(Programming for Memory Information) 15-1 物理内存 15-2 程序、虚拟与物理内存的运作关系 虚拟内存替换……LRU法 15-3 提高内存与系统性能 第16章 内存信息 16-1 获取内存信息为何使用GlobalMemoryStatus()比较好? 16-2 加入C/SDK程序中 16-2-1 判断代码ID与显示前准备 16-2-2 获取与显示内存信息 16-3 加入MFC程序中 16-3-1 创建Member Function与信息处理 16-3-2 获取与显示内存信息 第17章 本章函数使用说明 GetMemoryInfo()函数的使用 Q&A总集 Q:虚氛内存的原理为何? Q:程序、虚拟内存与物理内存的关系为何? Q:如何调整内存来提升系统性能? Q:如何获取目前主存(RAM)与虚拟内存(Virtual Memory)的信息? Q:GlobalMemoryStatus()与GlobalMemoryStatusEx()有何不同?粉可使用GlobalMemoryStatus()比较好? Part 5 保存设备信息(Programming for Storage Information) 第18章 各类磁盘信息 18-1 磁盘种类判断讨论与研究 18-2 标签名称与文件系统 18-3 总容量与可使用量 18-4 更深入的研究 18-5 加入C/SKD程序中 18-5-1 查看所有保存设备 18-5-2 动态菜单与WM_initmenupopup信息 18-5-3 判断代码ID与显示前准备 18-5-4 获取与显示磁盘信息 18-6 加入MFC程序中 18-6-1 查看所有保存设备 18-6-2 改变菜单与按钮……ON_UPDATE_COMMAND_UI与CCmdUI讨论与研究 18-6-3 创建Member Function 与信息处理 18-6-4 获取与显示磁盘信息 第19章 本章函数使用说明 GetDriveInfo()函数的使用 Q&A总集 Q:如何判断软盘、随身盘、ZIP磁盘或磁带机?GetDriveType()并没有告诉我啊》 Q:使用GetyDriveType()要注意那些地方? Q:如何获取指定磁盘的种类、标答名称、文件系统、总容量与剩余量? Q:使用GetVolumeInformation()有什么特别要注意的地方? Q:GetDiskFreeSpace()与GetDiskFreeSopaceEx()有何不同? 为何使用GetDiskFreeSpaceEx()比较好? Q:我希望菜单随着某些状态而动态改变(例如:可选定或不可选定),要如何设计? Q:我希望工具栏按钮随着某些状态而改变(例如:可按下或不可按),要如何设计? Q:如何使用ON_UPDATE_COMMAND_UI与CCmdUI来更改菜单项目或工具栏按钮的状态? Part 6 输出入设备信息(Programming for Input and Output Device Information) 第2章 键盘信息 2-1 名称与种类讨论与与研究 2-2 加入C/SDK程序中 2-2-1 判断代码ID与显示前准备 2-2-2 获取与显示键盘信息 2-3 加入MFC程序中 2-3-1 创建Member Function与信息处理 2-3-2 获取与显示键盘信息 第21章 鼠标信息 21-1 名称与种类讨论与研究 21-2 按键数目与滚轮讨论与研究 21-3 加入C/SDK程序中 21-3-1 动态菜单与WM-INITMENUPOPUP信息 21-3-2 判断代码ID与显示前准备 21-3-3 获取与显示鼠标信息 21-4 加入MFC程序中 21-4-1 改变菜单与按钮……ON_UPDATE_COMMAND_UI与CCmdUI讨论与研究 21-4-2 创建Member Function与信息处理 21-4-3 获取与显示鼠标信息 第22章 显卡与屏幕信息 22-1 显卡名称、种类、版本与日期讨论与研究 22-2 屏幕名称、分辨率与刷新频率 22-2-1 屏幕名称讨论与研究 22-2-2 分首席率与刷新率讨论与研究 22-3 加入C/SDK程序中 22-3-1 创建Member Function与信息处理 22-3-2 获取与显示显卡与屏幕信息 22-4 加入MFC程序中 22-4-1 创建Member Function与信息处理 22-4-2 获取与显示显卡与屏幕信息 第23章 打印机与传真信息 23-1 打印机或传真机数目 23-2 名称、单彩色、端口、驱动程序、分辨率 23-2-1 打印机 处理器 23-2-2 单颜色的判断 23-2-3 分辨率的判别 23-3 讨论与研究……获取更多的信息 23-4 加入C/SDK程序中 23-4-1 动态菜单与WM_INITMENUPOPUP信息 23-4-2 判断代码ID与显示前准备 23-4-3 获取与显示打印机或传真机信息 23-5 加入MFC程序中 23-5-1 查看打印机与传真机 23-5-2 改变菜单与按钮……ON_UPDATE_COMMAND_UI与CCmdUI 23-5-3 创建Member Function与信息处理 23-5-4 获取与显示打印机或传真机信息 第24章 本章函数使用说明 GetKeyboarInfo()函数的使用 GetMouseI()函数的使用 GetVCardInfo()函数的使用 GetMonitorInfo()函数的使用 GetPrinterNumber()函数的使用 GetPrinterInfo()函数的使用 Q&A总集 Q:如何找出目前使用的键盘名称或种类? Q:GetKeyBoardType()无法获取键盘的完整中文名称,要怎么办? Q:如何查看是否有安装鼠标或类似的设备? Q:如何获取目前使用鼠标设备的详细名称? Q:如何找出鼠标的按键数目与是否有滚轮? Q:如何获取显卡的相关信息(如:名称、设计厂商、ROM版本……等)? Q:如何获取屏幕的相关信息(如何:名称、分辨率、刷新频率)? Q:如何判断单色或彩色打印机? Q:如何判断打印机分辨率是XxYdpi(如:6x6dpi)还是简单的说明(如:高分辨率、中分辨率)? Q:为何我调用EnumPrinters()都失败?如何解决? Q:如何获取当前默认打印机名? Q:如何判断目前打印机的状态(卡纸、正在打印、未连接)? Q:如何获取打印机的纸张大小、送纸方式、直横向? Part 7 其他操作设计(Programming for Other Functions) 第25章 重画问题 25-1 Windows对窗口的重画处理 25-2 WM_PAINT的处理 25-3 MFC的不同之处……OnDraw() OnPaint()与OnDraw()的差异 25-4 讨论与研究 第26章 “关于……”窗口设计 26-1 挑战与训练 26-1-1 加入系统菜单 26-1-2 处理WM_SYSCOMMAND信息 26-1-3 对话窗处理程序与制作调整对话窗位置 26-2 加入MFC程序中 26-2-1 加入系统菜单 26-2-2 OnSysCommand()的创建与设计 26-2-3 对话窗处理程序与制作 第27章 “退出”操作设计 27-1 挑战与训练 27-2 加入C/SDK程序中 27-3 加入MFC程序中 第28章 字体的创建、选择与显示 28-1 创建自己要的字体 28-2 字体的选择与显示 TextOut()、ExtTextOut()、DrawText()、DrawTextEx()比较与研究 Q&A总集 Q:当遮盖我程序的窗口移开后,我要如何重新显示被遮盖的内容? Q:如何处理系统传来的WM_PAINT信息进行重面? Q:当窗口内容需要重画时应该处理OnPaint()还是OnDraw()?为什么?这两者有何差别? Q:我要如何汪加、更改或删除系统菜单(SystemMenu)中的项目? Q:我要如何调整对话窗(Didlogbox)在主窗口中的显示位置? Q:我改写WM_SYSCOMMAND信息的处理函数OnSysCommand(),为何不成功?为何造成所有菜单无法操作?如何解决? Q:Windows系统在关闭一个窗口前时会送出那些信息? Q:我希望由我的程序来决定是否要关闭窗口而不让用户按下Alt+F4或左上解?按钮就关闭,要如何做? Q:使用API函数CreateFont()或CFont::CreateFont函数,有那些注意事项? Q:如何找出所有使用的字体名称? Q:选择使用CreateFont()所创建的英文字体就无法显示中文(或简体字、日文、韩文)吗? Q:为何我使用CreateFont()创建英文字体(例如:Arial)却无法显示中文(或简体字、日文、韩文)而是乱码?如何解决? Q:TextOut()、ExtTextOut()、DrawText()DrawTextEx()四个API函数有何差异?各适用在什么情况下? 附录 Appendix 附录A 本书光盘内容与安装说明 附录B 本书函数库说明 C、C++、C#函数库 VB函数库 附录C 本书MFC程序编译说明 附录D 本书C/SDK程序编译说明 附录E VB中调用WindowsAPI与注意事项 为何要调用Windows API? 调用API函数的基本步骤 参数的传递与研究
| |
Windows编程实战基础练功篇(1CD)(4721)-相关图书 ·主动服务:概念、结构与实现 ·女数学家传奇 ·中共十六大与马克思主义理论创新 ·探寻黄河文明 ·高等教育与行政诉讼 ·海峡两崖管理学研讨会首届年会论文选 ·中国美术简史 ·什么是外交 ·周作人年谱(1885-1967) ·全球养老保障——改革与发展 ·媒介公正(道德伦理问题真的不证自明吗?) ·地球村:全球化与人类共同利益 ·草莽龙蛇传 塞外奇侠传 ·企业理论新论:兼论国有企业改革 ·比较(12) ·利润倍增 ·中国设计艺术史论 ·千古一帝 ·中国现代化进程中的阶层结构变动研究 ·台湾与大陆文学关系简史
|
| |