- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、Windows编程基础 Windows的优点 32位系统比16位系统寻址更多的内存空间,最多可达4GB【16位系统只有64K】。 16位系统把内存空间划分为许多不同的段【段地址+偏移,每段64K】,增加了寻址难度 32位系统采用平展式【flat】内存,它没有段,只是一个大的内存空间,从而使程序设计更加灵活、功能更强大。 Windows API Windows是32位操作系统,Windows编程基于其应用程序编程接口(API),即Win API,有16位版本的Win API,但Windows95、98、NT都是32位版本的Win API,称之为Win32 API,或简称为Win32。 什么是Win32 API呢?API是几百个函数的集合,包括大量的常数、宏定义、结构、类型等,它们是用C语言编写的,现在也可以用其它语言调用,如:Visual Basic、汇编语言、Fortran、Pascal和其它编程语言等。 大多数API都在Windows.h中定义,可以在Microsoft Windows软件开发工具包【SDK】中获得,也是Visual C++的一部分。 Windows API-- Windows的主要概念 Win32 API函数基于一系列的Windows概念,包括图形用户界面【GUI】、消息【基于Windows的应用程序和基于MS-DOS的应用程序之间最基本的一个差别在于:MS-DOS应用程序执行的流程是由程序自身控制的,而Windows的应用程序的执行则是通过消息驱动的,也就是说,是由用户控制的】、多重叠窗口、菜单、图标、资源、多任务以及鼠标使用等。 在MS-DOS下,数据可定义为常量,或者提供单独的数据文件供程序读取,而进行Windows程序设计时,可以将一些特定格式的数据存储在资源文件中,Windows通过“连编”,将资源文件嵌入到连接程序中,资源文件可以包含位图、图标、菜单、对话框和字符串等。 上述概念都与窗口有关。一些API函数可以用来创建窗口、调整窗口大小、移动窗口等,其它API函数用于在窗口中绘图、打开、读出、写入和关闭文件,与操作系统和其它程序通信等。 Windows API--不同的Win32平台编程 不同的32 位操作系统(如Windows 95、98或NT)基于一个相同的API,意味着所有32位Windows的编程基本是相同的。尽管在API中包括某些函数只能用于Windows NT,而另外一些API函数仅用于Windows 95和Windows 98,但在不同的平台中,API核心是相同的。所以学会使用Windows 95编程,也可以在Windows 98和Windows NT中编程了。 Windows API--多任务和多线程编程 32位版本的Windows是多任务系统,作为多任务的操作系统可同时运行多个程序。在Windows95中,操作系统为每个正在运行的程序分配小的时间段,由于时间段较短,对用户来说,这些程序是同时运行的。 Windows也允许在程序中使用多个线程。大多数程序只有一个可执行的线程,即所有代码只有一个执行路径,每条语句依次执行。但一个程序可以划分为2个或多个独立运行的线程,由每个线程各自完成它担负的处理任务,比如可在后台打印的同时,用户在主线程继续其它的工作。 Windows基础-事件 Microsoft Windows是用户驱动的系统,它大量的时间用于响应用户操作,这样的系统称为事件驱动系统。当用户按下一个键、移动鼠标或单击一个鼠标按钮,计算机硬件便通知Windows系统一个事件已经发生了,并告诉它事件的类型、发生的时间以及与屏幕相关事件的位置【例如坐标值】。 事件产生的主要原因有三个: 第一种通过输入设备,如键盘和鼠标; 第二种通过屏幕上的可视对象如菜单、工具栏和对话框控件【采用鼠标和键盘产生可视事件】; 第三种由Windows本身产生,例如恢复一个被其它窗口覆盖的窗口。 Windows基础-消息 当Windows知道事件发生后,就转化为“消息”,并将消息放在程序的消息队列中,程序的执行由消息驱动,与代码顺序无关。 Windows消息标识符是在Windows.h中定义的常数宏,消息一般采用WM_XX来定义,如WM_PAINT、WM_CHAR、WM_LBUTTONUP、 WM_COMMAND等,消息数据结构包含的主要信息: 当前活动的应用程序。 在当前应用程序中活动的窗口。 事件发生时的当前光标位置。 消息结构: typedef struct tagMSG { HWND hwnd;//消息发向的窗口句柄 UINT message; //消息标识符 WPARAM wParam;//32位的消息参数(其含义和具体数值因消息而异) LPARAM
文档评论(0)