Win32程序设计(Windows程序设计机理)windows程序设计第7版pdf
Win32程序设计,⼜常常被叫做SDK/API编程,现在使⽤Win32的程序员确实已经很少了,主要是因为⽤win32写代码⽐⽤vc写起来还累,但是Win32编程常常⼜是⾮常有效率的,现在⽤的⽐较多的就是在编写游戏中.很多⼈在学习VC的时候总是抱怨vc太难了,有点⽼虎吃天的感觉,总是不知道如何下⼝,甚⾄有些⼈⽤了⼀两年都还没有⼊门,如果你有这样的感觉,不如先去读⼀下关于Win32 SDK的资料,我想对你是有很⼤帮助的,下⾯我要发的这篇⽂章呢并不是偶写的,是偶师傅写的,后来我⽤MFC的⾯向对象的思想封装过SDK的结构化程序,但是⼀直没有对此做⼀个总结,有时间偶⼀定会补上啦
Windows程序设计的基本概念
程序设计:基于操作系统和语⾔系统的资源,运⽤⽹络与数据库的技术,针对问题的专业需求,按照软件⼯程的规范,利⽤语⾔系统的语法机制,描述求解问题的过程。我们把操作系统资源、语⾔系统资源、⽹络技术、数据库技术、专业需求、软件规范和语法规则称为程序设计逻辑的七⼤要素。通常所谓C++程序设计、Fortran语⾔程序设计、PASCAL语⾔程序设计等是从语法的⾓度学习程序设计的基本语法规则和程序设计⽅法;所谓VC++程序设计⽐较符合上述我们所述的程序设计思想,主要是从基于操作系统资源的⾓度运⽤语⾔系统的资源进⾏程序设计,需要具备C++⾯相对象的良好功底和Win32 API资源透彻的理解;我们⽬前进⾏的Windows程序设计,是从操作系统资源的⾓度学习,这是对Windows专业程序开发最本质的学习,是我们从⾮专业迈向专业⼤门最有⼒的开始。
Win32 API:如果把操作系统⽐作软件⼤厦,那么Win32 API就是建造32位Windows操作系统(Windows 9x、Windows NT、Windows 2000、Windows me、Windows CE、Windows XP)的预制件,它是Microsoft公司为其32位的操作系统平台的软件开发、为软件开发⼈员提供的操作系统资源的使⽤接⼝或称应⽤程序编程接⼝(Application programming interface),所覆盖的领域包括:Windows系统管理、系统信息、系统安全、进程、线程、动态链接、内存管理、⽂件系统、键盘和⿏标输⼊、GDI对象、⽹络通信、资源管理、打印、程序调试、异常处理等等。它们以动态链接库的形式,存在于操作系统中,供操作系统和Win32应⽤程序调⽤。
Win32平台:⽀持Win32应⽤程序运⾏的平台,诸如:Win32S、Windows 9x、Windows NT、Windows 2000、Windows me、Windows CE、Windows XP等,如果Win32应⽤程序⽐作CD的⾳乐盘⽚,那么CD的平台就是CD随⾝听、VCD影碟机、DVD影碟机了。
任务:运⾏在操作系统上的应⽤程序,即操作系统执⾏的任务。
多任务:在同⼀个时间段⾥执⾏多个任务,即多任务。Windows 3.x是⼀个协同式的多任务的操作系统;32位的Windows是基于进程、线程优先级的分时的多任务操作系统。
进程:操作系统构造任务、分配资源的机制,也可以理解为操作系统关于任务执⾏、调度和资源分配的基本单位;是程序代码、数据和资源的集合,这⾥的资源包括:地址空间资源、CPU时间资源(线
程)、内存资源、⽂件资源、通讯资源、显⽰资源等等。Win32应⽤程序的代码、数据及资源分布在4GB的地址空间中,操作系统分配给进程的线程资源驱动程序的运⾏,程序在内存运⾏。
线程:操作系统驱动进程的机制即线程,也可以理解为操作系统关于CPU时间资源的分配单位,是线程驱动进程的运⾏。⼀个操作系统可以同时运⾏多个进程,⼀个进程中可以有多个线程。进程和线程是有优先级的。Win32的应⽤程序通过基于优先级的多进程、多线程的机制,实现抢先式多任务。这种抢先的能⼒⽔平,由进程和线程的优先级赋予。
事件:⼴义地讲,发⽣在计算机系统中的⾏为和操作;狭义讲,操作系统、⽤户施加给软件对象(⼴义的可理解为任务,狭义的可理解为软件窗⼝对象)的⾏为和操作。
消息:事件的程序描述即消息,程序中的消息描述类似⽇常⼯作中的事件⽇志,从时间、地点、⼈物、事件、事由等⽅⾯描述当⽇发⽣的事件;从另⼀个⾓度讲消息是驱动窗⼝对象动作的指令,从总体上可以把消息分为⽤户消息、控制消息、系统消息和程序消息四类。
消息队列:⽤户和操作系统对软件对象施加的⾏为和操作的描述列表,操作系统以线程为单位,为线程创建的窗⼝对象建⽴消息队列,即与某个窗⼝对象有关的消息,操作系统将消息发送到创建该窗⼝对象的线程的消息队列中。
消息循环:从消息队列中检索消息的过程。
窗⼝对象:⼀个能够接受和处理操作系统和⽤户所施加的操作和⾏为的屏幕上可视的矩形区域,是基于图形对象⽅式的操作系统构造交互式程序的⼀种机制。
窗⼝类:同⼀类窗⼝对象的程序描述,⽤WNDCLASS结构描述属性,⽤窗⼝过程描述⾏为功能,创建⼀个窗⼝对象,⾸先必须成功地向操作系统注册窗⼝类。
窗⼝过程:窗⼝对象对事件和消息的处理过程即窗⼝过程,⼜叫窗⼝函数;窗⼝对象的所有⾏为和功能都定义在窗⼝过程中。
句柄:Win32对象标识的通称,具体表现为⼀个32位的⽆符号的整数值,通称可⽤HANDLE 来标记。这⾥Win32对象为诸如:内核对象(进程对象HProcess、线程对象HThread、⽂件对象HFile、⽂件映射对象、邮件槽对象、事件对象、信号量对象、互斥对象)、GUI对象(窗⼝对象HWND、菜单对象HMENU、光标对象HCURSOR、图标对象HICON等)、GDI对象HGDIOBJ(HDC、HPEN、HBRUSH、HFONT)等等等等,还有好多好多!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。