windows 编程的学习次序

Windows编程循序渐进(清晰完整版)7 因为本人帐户只能上传15M的文件,电子书文件有130M左右大小,只能分割8个分卷分别 上传。进入我帐户的空间就能看到8个分卷的全部下载地址。 http://yx6071.download.youkuaiyun.com/ 或者在搜索栏中搜索也能找到全部8个分卷。 看雪论坛主力成员张静盛所编著。为高清晰完整版PDF电子书,是学习Windows编程很好的 书籍。作者简介:张静盛,目前在盛大网络从事技术研发工作。自2005至今在看雪软件安 全论坛担任“Win32/Win64编程”版版主(网名:北极星2003)。曾获第31届ACM/ICPC 国际大学生程序设计竞赛亚洲赛区(上海)银奖。他追求专业技术的精纯,常为工作、为兴 趣废寝忘食。 本书设计了大量的实例演示Windows应用程序开发过程中的相关技术,分为3篇。 软件设计基础篇 ·第1章,软件开发起步:编写第一个软件,熟悉MFC应用程序框架。 ·第2章,对话框应用程序:熟悉模态、非模态对话框以及通常对话框的原理与使用方法。 ·第3章,基本控件:介绍按钮、编辑框、列表框等基本控件的使用方法。 ·第4章,文档与视图:介绍文档与视图的基本原理。 ·第5章,GDI绘图技术:介绍GDI绘图技术的基本的GDI对象。 ·第6章,键盘与鼠标消息:介绍键盘、鼠标消息的处理与模拟。 软件设计综合应用篇 第7章,网络通信基础:介绍网络模型、协议以及套接字编程和LSP的实现。 第8章,密码学算法:介绍常见的密码学算法及其实现。 第9章,多媒体技术:介绍几种多媒体控件的使用方式和屏幕截图、录像的实现。 第10章,数据库技术:介绍MFC ODBC和DAO基本使用方法。 第11章,综合实例开发:实现多个具有趣味性的实例。 Windows系统程序设计篇 第12章,进程与线程:介绍进程与线程的原理及其基本应用。 第13章,内存管理:介绍虚拟内存与内存映射两种内存管理机制。 .第14章,进程间通信:介绍共享内存、管道等进程间通信方式的原理与实现方法。.. 第15章,线程同步:介绍多种线程同步技术,包括使用内核对象实现线程同步。 第16章,动态链接库:介绍DLL的基本原理,包括TLS机制。 第17章,结构化异常处理:介绍结构化异常处理机制,及其在VC++环境下的特性。 第18章,可执行文件格式:介绍PE文件格式及其基本应用。 第19章,模块注入与函数挂接技术:介绍模块注入及函数挂接技术及其防御。 立即下载
经常有初学者询问如何学习Windows编程?

很多人从MFC开始学习,结果常常是一头雾水,知难而退;也有人毅力坚强,熬过了MFC的阵痛期,最后却是知其然而不知其所以然,并且思维被限制在MFC的框架之中,遇到稍微有点规模的程序就无从下手了。

以我个人的这些年的Windows开发经历,我建议Windows上的学习路线如下:
首先当然是语言的学习,比如C或C++(STL),它是平台无关的
然后可以从《Windows程序设计》(by  Charles Petzold )入门,从最原始的Windows API开始学习
接下来可以学习《Windows核心编程》(by  Jeffrey Richter ), 它会让你比较深刻的理解Windows的前台和后台机制
学完上面2本书,对Windows系统已经比较熟悉了,再要深入的话可以学下《Windows 图形编程》(by 袁锋)。

至此,已经可以用API的方式开发大部分Windows应用程序了,
接下来可以学一些常用库,比如MFC,WTL,ATL等,此时学习MFC和一开始就学习MFC已是截然不同的感觉,彼时痛苦难熬,此时会心一笑。
其他就是根据项目需要,专业知识的学习,比如COM技术,网络,D3D等。
===========================

c++ 的 stl windows sdk mfc wtl 这几个部分应该怎么学习啊 。除了上面4个还有什么要学习的 谢谢指导哦
 
 
1.打牢C++的语言基础。
2.STL是C++的标准库,基于模板技术,结合泛型设计思想,是一套学习C++本身的很好的库,但需要很好的C++语言功底。在一般的C++书籍中,都会有STL的章节,不过一般只是讲如何应用它。在学习数据结构的时候,结合STL来学习容器和算法,再好不过,推荐书籍《STL源码剖析》(侯捷),如果你觉得需要掌握更深层次的模版技术并加强对模版的正确认识和了解,请看《C++ Templates中文版》。
3.对于windows sdk,你可以看《windows 程序设计》(Charles Petzold),里面的例子全是用C写就的,有了C/C++的基础,这些例子都很简单。跟着书本循序渐进,你会获益良多。接下来,你可以看《windows核心编程》(Jeffrey Richter),里面有很多高级技术,例子也用C++写成。读完这两本书,你对windows环境下的编程就有了清晰的了解。
4.对于MFC,有了第三部的积累,小菜一碟。前提是第三部分你要掌握的非常良好。如果你初读《MFC深入浅出》(侯捷),你可能会觉得有所困难,不过不要泄气,硬着头皮也要学完前几章,待到你把前几章弄通后,哈,后面的就很容易学下去了,而且充满乐趣(对我而言是如此的)!
5.WTL,一个非常棒的Frame。你学好了模板,再结合你对MFC的了解,学习WTL再简单不过了。WTL最好的一个地方在于,它是基于模版和多重继承实现的。由于模版的特性,WTL所有的源代码都在头文件中,这些源码正是学习WTL的最好方法。到了这个阶段,你会觉得,看WTL源代码是一件颇为享受的事情,因为你得以一窥它是如何实现与MFC同名的一些函数的。自然,这里有一本书(其实不能算书,是Code Project上的一系列文章的集合),叫做《WTL for MFC programmer》,有中文版。 
关于其它,对于windows的高级技术COM/COM+,已经不是现今的主流技术了,《COM本质论》的作者也说在.net大行其道的今天,COM已经没落了,但现在windows的很多关键部分仍在应用COM,谷歌地球的自定义编程也是COM方面的内容。简单来说,COM是基于二进制防火墙的跨平台的技术,内容繁杂,你可以先看《COM技术内幕》,再看《COM本质论》,如果你感兴趣的话。我当时光看COM中的聚合,就搞得头大。
学完COM,你能干什么呢?还不到时候。接下来就到ATL(活动模板库)了,它是基于COM的框架。具体的内容我也没怎么学,我倒是买了本《ATL技术内幕》,留待以后学习吧。
抛开windows,但看C++本身,有很多有趣的东西。我首推《C++模板元编程》,这是一本考验耐性和智力的书。同时你必然就接触到了Boost库,这个库的名气很大,我就不赘述了。如果你有兴趣,可以看看脚本语言与C++的混合编程(仅是个人推荐,看你兴趣),其中之一就是Boost::Python和C++的混合编程(当然,Python是一种独立的脚本语言,Boost::Python只是用于C++编程的)。
还有什么呢,还是模板,依旧是泛型编程。先提一个项目,“大芒果”,魔兽世界的网络变“单机”的服务器。里面应用到了很多这本书介绍的技术:《C++设计新思维-泛型编程与设计模式之应用》。当然,对于这么大一个项目,这只是冰山一角。
还有吗?当然,数之不尽……

============================


提问者:  liyed32  | 浏览次数:2968次
我本来想先看看 windows程序设计的 可是  既然MFC 把他给封装起来了  我是不是先看深入浅出MFC ?
另外看深入浅出MFC  需要什么C++ 基础  例如RTTI 和 虚函数 继承?  谁给讲一下  学习的流程! 谢谢了!
 
精彩回答
检举| 2011-06-16 20:21
1.c++语法要掌握.
2.windows程序设计是必需的,特别是象单文档程序,如果不了解消息处理细节,你直接上mfc的封装类,光一个CFrameWnd就可以让你深陷其中,云里雾里.
一些简单内容,直接跳过去就是了.
3.mfc学习,一本是李久近的,还是有一个国外的<深入解析mfc>.而侯俊杰的就省省吧.

1.c++语法掌握,主要是一本书<深度探索c++对象模型>.看完这本,神马语法都是浮云.
rtti,为类维护一个static类,由于static对于类的多个实例来说仍然只有一个,这样就可以通过static记录类继承信息来判断父子关系.c++编译器自动实现,只要关心相应的函数就行了.
mfc,刚好就是明显提供了这种类似的实现,主要用于消息映射表遍历.

象com类,它是用128位数,也就是uuid用来表达一个类名称,然后通过字符串比较,来判断到底要返回嘛类,这个体会一下.

   
=================================
1.c++ ,先确定你已看过《深度探索C++对象模型》,否则你一两年内仍然停留原来的水平。
2.<windows程序设计>必看的,弄懂win32下的编程框架,理解消息机制,务必把多文档那个章节看完。其它的,不用看了。就算要看,也是当手册看,或是用到时再看。
3.<windows核心编程>这一本看你的理解力,再快也要几个月吧。

4.这时可以学mfc了。
两个方向:
研究源码(以后应用时会得心应手一些,bug调试能力会比较强,很快能知道问题出在哪里),或是直接上手应用(吃力不讨好,这个只能是经验,经验)。具体看你时间而定。
追问
深度探索C++对象模型  真有那么重要? 我是想API和MFC一起学的,那样好不好?现在看MFC还是看的点懂,不过稀里糊涂的
回答
深度探索C++对象模型 其实就是了解一个内存模型,这是必需的。早看早受益,否则以后接触到一些类设计,如果不能理解内存模型,基本上是体会不到这样设计的妙处的。

windows核心编程 可以不看,直接跳到mfc的学习上。
但1,2两点理解之前,别碰mfc, 否则除了浪费时间,还是浪费时间。


Windows编程循序渐进(清晰完整版)+源码.rar 立即下载

相关推荐

windows编程循序渐进(清晰完整版)

windows编程循序渐进(清晰完整版),需要的下载参考学习的

桌面端编程之C++编程学习路线

本文可视化地呈现了C++的学习路线,帮助读者高效地学习C++编程。

audyxiao001的博客 1169

( Windows编程循序渐进(清晰完整版).rar )

windows编程循序渐进一书为我们详细而全面地介绍了vc++的编程基础知识,本书共20章,内容全面丰富,适合于vc++初学者和相关的工程技术人员。 此部分为配套的code源码,方便学习使用,祝大家学习愉快。

Windows编程学习路线

本文主要给大家介绍关于我们在学习Windows编程方面需要用到的书籍           这里只讲关于Windows编程方面的书籍,范围也在其左右.  Start:   1. 用于入门C语言的书籍        《C程序设计》 - 谭浩强                    很多学校都是拿这本书作为教科书,所以别的我不说啦,里面写的主要是一些入门C语言的东西,很详细,所以如果以C

3630

Windows编程循序渐进(清晰完整版)4

看雪论坛主力成员张静盛所编著。为高清晰完整版PDF电子书,是学习Windows编程很好的 书籍。作者简介:张静盛,目前在盛大网络从事技术研发工作。自2005至今在看雪软件安 全论坛担任“Win32/Win64编程”版版主(网名:北极星2003)。曾获第31届ACM/ICPC 国际大学生程序设计竞赛亚洲赛区(上海)银奖。他追求专业技术的精纯,常为工作、为兴 趣废寝忘食。 本书设计了大量的实例演示Windows应用程序开发过程中的相关技术,分为3篇。 软件设计基础篇 ·第1章,软件开发起步:编写第一个软件,熟悉MFC应用程序框架。 ·第2章,对话框应用程序:熟悉模态、非模态对话框以及通常对话框的原理与使用方法。 ·第3章,基本控件:介绍按钮、编辑框、列表框等基本控件的使用方法。 ·第4章,文档与视图:介绍文档与视图的基本原理。 ·第5章,GDI绘图技术:介绍GDI绘图技术的基本的GDI对象。 ·第6章,键盘与鼠标消息:介绍键盘、鼠标消息的处理与模拟。 软件设计综合应用篇 第7章,网络通信基础:介绍网络模型、协议以及套接字编程和LSP的实现。 第8章,密码学算法:介绍常见的密码学算法及其实现。 第9章,多媒体技术:介绍几种多媒体控件的使用方式和屏幕截图、录像的实现。 第10章,数据库技术:介绍MFC ODBC和DAO基本使用方法。 第11章,综合实例开发:实现多个具有趣味性的实例。 Windows系统程序设计篇 第12章,进程与线程:介绍进程与线程的原理及其基本应用。 第13章,内存管理:介绍虚拟内存与内存映射两种内存管理机制。 .第14章,进程间通信:介绍共享内存、管道等进程间通信方式的原理与实现方法。.. 第15章,线程同步:介绍多种线程同步技术,包括使用内核对象实现线程同步。 第16章,动态链接库:介绍DLL的基本原理,包括TLS机制。 第17章,结构化异常处理:介绍结构化异常处理机制,及其在VC++环境下的特性。 第18章,可执行文件格式:介绍PE文件格式及其基本应用。 第19章,模块注入与函数挂接技术:介绍模块注入及函数挂接技术及其防御。

别再只调陀螺仪了!用OpenCV实现基于透视变换的EIS防抖,实测效果媲美手机

本文深入探讨了基于透视变换的EIS电子稳像技术,通过OpenCV实现高阶防抖算法,效果媲美主流手机厂商方案。详细解析了传统旋转平移模型的局限性,并展示了透视变换在复杂场景下的优势,包括数学原理、OpenCV实战代码及性能优化技巧,为视频防抖提供了专业解决方案。

weixin_42613501的博客 454

C++ Windows客户端开发学习路线(超级详细)

但是,调用 API 之前你需要知道它的优势和劣势,明确它能够胜任的具体场景,此时就需要你了解数据结构和算法的底层原理。Windows GUI 开发涉及到的技能板块非常繁杂,短期内不可能全部都掌握,为了加快学习进度,尽早开发出一款实用的软件,我们需要暂时先舍弃一些技能,或者对一些技能浅尝辄止,等到以后有余力了再回来学习。事实上,只学习C语言也能进行 Windows GUI 开发,也能做出类似 QQ、迅雷等待界面的程序,但C语言开发效率低,第三方库较少,实际项目中没有程序员会这样做,大家都转向了 C++。

数据结构和算法教程(C语言版) 7053

从零构建2.4G无线通信系统:MSPM0G3507与NRF24L01的深度协同设计

本文详细介绍了基于MSPM0G3507微控制器与NRF24L01射频模块构建2.4G无线通信系统的深度协同设计方案。内容涵盖系统架构、SPI通信优化、功耗管理、抗干扰机制及中断/DMA高效利用,为工业物联网应用提供高可靠、低功耗的无线传输解决方案。

rice5的博客 821

Windows程序员的学习路线

Windows程序员的学习路线   1.当然要熟悉下C语言了 入门可以选用潭浩强的 《C程序设计》(当然最好能读C Programming Language)特别要对其中的指针,结构体等东西一定要搞清楚了(要学好的很好至少要花费一个月时间) 为什么要从C开始呢: C好学

aican_yu的专栏 1403

Emotion-LLaMA实战指南:从零构建多模态情感识别系统(附Python代码)

本文提供了Emotion-LLaMA多模态情感识别系统的实战指南。通过详细的步骤,指导读者从零搭建开发环境、运行本地Demo、理解模型架构,并完成数据处理与模型训练。该创新模型融合视觉、听觉与文本信息,实现更精准、接近人类理解的情感分析与推理,并附有完整的Python代码实现。

weixin_29094775的博客 417

【无人机智能避障】基于深度强化学习的城市复杂环境路径规划实战

本文探讨了基于深度强化学习的无人机在城市复杂环境中的智能避障与路径规划。针对传统算法难以应对动态与非结构化障碍的痛点,文章详细介绍了如何利用DQN算法,通过设计合理的状态空间、奖励函数,并结合经验回放、目标网络等技巧,训练无人机自主学会在楼宇间安全、高效飞行的策略。

weixin_28224217的博客 735

《Windows编程循序渐进》——基本控件

按钮控件的介绍 界面设计如下: 要将Group属性设为True才可以添加变量: 给4个Radio Button关联变量: 有时候我们在更改控件ID的时候,会提示出: 但实际上已经没有这个ID了,只要我们重新编译一下再改就行。关联完变量之后会在MFCButtonDlg.h中多出这几个成员变量: 给Button添加代码如下: 运行结果如下: ...

weixin_30709809的博客 167

jira的详细使用教程

​jira的详细使用教程,1,Jira- 是一款缺陷管理软件工具,用其进行缺陷的管理和跟踪。(是B/S架构的软件) 2,主要涉及的角色: 3,具体工作流 添加工作流 1.点击项目设置

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 3295

windows编程学习感悟

windows编程学习感悟开始学习系统设计安全方向生态未来推荐 ps:这是一个感悟blog,为想学windows编程的提供一点方向,也是对自己看了一个暑假的windows书籍的一个小总结。 开始 先说一下博主的知识积累,博主是高三因为爱好学的linux,从鸟哥的linux私房菜入门 基本能熟悉使用各种linux发行版,也在centos6上编过几个小程序,网络,java(做过游 戏),c,c++也都略懂点,现在是个大一学生,那为啥好好的linux不搞了,开始搞windows 了呐,这和博主的爱好有关,博主比

weixin_44627246的博客 2854

N32G430学习笔记11- systick使用函数-延时函数

N32学习笔记11- systick使用函数-延时回调函数-延时函数

Car12 1416

人像美肤 人体美型 CVPR 2022 ABPN

人像美肤 CVPR 2022 ABPN

jacke121的专栏 841

有一定基础的 C++ 学习者该如何学习 Windows 编程?

这篇文章是回答一位知友的提问: 有一定基础是指对大学教材级别的C++知识有了解,然而只停留在黑框程序的编写和阅读上。 手头有一个使用VS2010开发的windows工程想要读懂(这是契机,不是原因),长久以来的困惑使得我希望找到一本适合初学者的书。图书馆里的书大多是陈旧的(VC++6.0)而且不涉及windows程序开发的教材,要么就是劈头盖脸各种不明就里的程序段。 我查阅过很多书籍,也从知乎上了解了许多类似C++ Primer/ the C++ programming language这样的书目,但是我

左雪菲的专栏 1790

《QGIS快速入门与应用基础》209:重叠标注处理(移除/偏移)

系统讲解了QGIS中处理标注重叠问题的核心方法与实操流程。文章首先阐述了重叠标注处理的底层逻辑,即 先预防、再调整、后兜底 的递进式策略,并详细介绍了设置入口与界面布局。重点讲解了偏移处理这一首选方案,包括基础方向设置、最大偏移距离与步长配置、以及自动换行等进阶优化规则。针对不同要素类型(点、线、面)提供了行业规范的偏移方向设置建议,并给出从稀疏到密集场景的完整参数推荐值。最后以城市POI点图层为例,演示了5步偏移设置流程,帮助用户实现 无重叠、无压盖、重点突出 的专业标注效果。

LuckyHanMo的博客 672

如何学习Windows编程

转自:http://www.cppblog.com/weiym/archive/2012/08/15/187276.html 经常有初学者询问如何学习Windows编程? 很多人从MFC开始学习,结果常常是一头雾水,知难而退;也有人毅力坚强,熬过了MFC的阵痛期,最后却是知其然而不知其所以然,并且思维被限制在MFC的框架之中,遇到稍微有点规模的程序就无从下手了。 以我个人的这些年的W

do it。 787

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

windows系统编程

oookkWindows系统编程是指在微软的Windows操作系统上开发应用程序的过程。Windows提供了大量的API(应用程序接口),这些API允许开发者访问系统的底层功能,如文件操作、网络通信、图形界面等。本篇文章将为初学者提供一个Windows编程的基础框架,包括所需工具、开发环境配置以及一些基本的编程概念。

chatgpt001的博客 2299

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Windows编程

本文整理自百科、知乎与 科学家的世界、Windows编程基础 问题一:为什么开发windows应用程序不用c 而用.net,java,c++? 用 c+windows API  开发windows 应用程序  比用.net,java,c++开发有什么缺点或优点? C/C++,现在的软件公司对这种人才需求更多。用这种语言写出来的程序是真正的exe可执行文件。是有系统启动运行的。

Peter-H 6765

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Windows核心编程-第五版中文版学习资源:深入掌握Windows系统底层编程

Windows核心编程-第五版中文版学习资源:深入掌握Windows系统底层编程 【下载地址】Windows核心编程-第五版中文版学习资源 《Windows核心编程-第五版(中文版)》是一本深入探讨Windows系统底层编程的经典书籍,涵盖进程、线程、内存管理、文件系统和网络编程等核心知识。无论您是开发者、研究者,还是对...

gitblog_06714的博客 1076

窗口的Z次序,类型

窗口的Z次序表明了重叠窗口堆中窗口的位置,这个窗口堆是按一个假想的轴定位的,这个轴就是从屏幕向外伸展的Z轴。Z次序最上面的窗口覆盖所有其它的窗口,Z次序最底层的窗口被所有其它的窗口覆盖。应用程序设置窗口在Z次序中的位置是通过把它放在一个给定窗口的后面,或是放在窗口堆的顶部或底部。      Windows系统管理三个独立的Z次序——一个用于顶层窗口、一个用于兄弟窗口,还有一个是用于最顶层窗口。最

lanzily99的专栏 6792

如何学习windows 编程

经常有初学者询问如何学习Windows编程?         很多人从MFC开始学习,结果常常是一头雾水,知难而退;也有人毅力坚强,熬过了MFC的阵痛期,最后却是知其然而不知其所以然,并且思维被限制在MFC的框架之中,遇到稍微有点规模的程序就无从下手了。         以我个人的这些年的Windows开发经历,我建议Windows上的学习路线如下:                

Mr L.h 861

Windows系统编程API 学习之路

GetLastError公开的错误代码机制也可供应用程序使用,以类似的方式设置错误代码。这是通过在当前线程上调用SetLastError with error来设置的。函数可以使用许多预定义的错误代码之一,也可以定义自己的错误代码。为了防止与系统定义的代码发生任何冲突,应用程序应在定义的错误代码中设置第29位。以下是一个使用此技术的函数示例:if (!ok) {if (!ok) {

charlie114514191的博客 3465
上一篇: VC 中使用内存映射文件处理大文件
下一篇: 程序员学习能力提升三要素
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值