第2章Windows操作系统的发展.ppt_第1页
第2章Windows操作系统的发展.ppt_第2页
第2章Windows操作系统的发展.ppt_第3页
第2章Windows操作系统的发展.ppt_第4页
第2章Windows操作系统的发展.ppt_第5页
已阅读5页,还剩21页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 Windows操作系统的发展,2.1 Windows的起源 2.2 Windows 95和Windows 98 2.3 Windows NT操作系统 2.4 Windows 2000 2.5 Windows XP 2.6 Windows的应用程序接口 2.7 Windows中的句柄 2.8 应用实例,2.1 Windows的起源,GUI的起源 Windows各个版本的发布情况 Windows1.0Windows3.0,2.2 Windows 95和Windows 98,Windows 95特点 Windows 98 特点,2.3 Windows NT操作系统,新增功能 特点,2.5 W

2、indows XP,Windows XP Home Edition Windows XP Professional Windows XP Professional 的新特性,2.4 Windows 2000,新增功能 特点,2.6 Windows的应用程序接口,动态链接库 应用程序接口,应用程序接口的使用方法,API是一个例程,应用程序通过这些例程来请求操作系统完成某些服务。例如:应用程序窗口,图标、菜单和对话框就是由API来管理的。 有两类API组件: 1.WIN16 API(虽然以执行文件形式出现,但仍然为DLL) USER.EXE GDI.EXE KRNL386.EXE 2.WIN32

3、API(以DLL动态链接库来实现) USER32.DLL 用户接口界面 GDI32.DLL 图形设备接口 KERNEL32.DLL 内核,基于 Windows API 函数的程序设计方法 API 就是应用程序编程接口,Windows API 由大量的 C 函数所组成(Windows API 参考手册)。基于 API 设计 Windows 应用程序时,开发者需要直接调用 API 函数,必须编写大量代码,并且熟知 Windows 应用程序的框架,这无疑增加了程序的编写难度,当然这样编写的程序会比较灵活。,基于 MFC 的程序设计方法 MFC(Microsoft 基本类库)是一个很大的 C+ 类层次

4、结构,其中封装了大量的类及其函数,很多 Windows 程序所共有的标准内容可以由 MFC 的类来提供。如窗口、按钮等标准部件都有相应的类,程序中用到这些标准部件时,直接使用即可。因此,使用 MFC编程,程序员可以把注意力集中于自己的程序所特有的部分,不需要事事亲自动手。与直接调用 API 函数编程相比,这将会大量减少程序员编写的代码数量,使编程工作变得更容易;同时,程序标准部分由 MFC 的类来提供,将使程序变得更规范,更具可读性,效率也更高。 MFC 的最大优点是它以高效简洁的方式为开发者做了所有标准部分的工作。MFC 中包含了成千上万行正确、经过优化和功能强大的 Windows 代码。只

5、要定义了某个类的对象,就可以调用该类的成员函数,轻轻松松完成本来应该由你自己一行行书写的程序。从这点上讲,MFC 极大地降低了程序开发难度。 Visual C+ 6.0 应用程序开发程序环境特别适合于使用 MFC(也有其他开发环境使用MFC)。 可以在MFC程序中直接调用API函数 ,且不用声明,不用包含其他头文件 。,Any 数据类型 :具有多种数据类型 的灵活性,运行时不进行任何的类型检查 。 例:下面的声明中的第三个参数 (lppt As Any) 既可以传递一个 POINT 结构的数组,也可以传递一个 RECT 结构: Declare Function MapWindowPoints

6、Lib user32 Alias MapWindowPoints (ByVal hwndFrom As Long, ByVal hwndTo As Long, lppt As Any,ByVal cPoints As Long) As Long,调用API的方式 (1)忽略函数返回值的调用 SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3 。 (2)Call方法调用 Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3) (3)取得函数返回值的调用 MyLng = SetWindowPos(Form1.hWnd, -2,

7、0, 0, 0, 3),2.7 Windows中的句柄,Windows的对象用一个32位的整数进行标识,称为“句柄”(Handle)。即句柄是一个对象的标识符。,Windows中一些较为重要的句柄,窗口句柄,窗口句柄用来标识一个窗口,窗体和控件都可以看作是一个窗口 例:Private Declare Function FlashWindow Lib user32 Alias FlashWindow (ByVal hwnd As Long, ByVal bInvert As Long) As Long,设备环境句柄,设备环境句柄(hDC)用来标识一个称为设备环境的对象,当在窗口中绘图时要用到这个

8、环境。该句柄用于窗体、图片框和打印机,它识别这些对象的设备环境。 Private Declare Function TextOut Lib gdi32 Alias TextOutA (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long,28 应用实例,句柄及窗体闪烁 获取计算机名称 获得操作系统版本,2.获取计算机名称API函数,例如: TCHAR szBuffer256; DWORD dwSize=256; GetCoumput

9、erName(szBuffer, 前一个参数是字符缓冲区,后一个参数其地址用来存放此字符缓冲区的最大长度。,BOOL GetComputerName( LPTSTR lpBuffer, LPDWORD lpnSize); 功能:获取计算机的名称 参数:lpBuffer是TCHAR类型,TCHAR的数量可以设置为MAX_COMPUTERNAME_LENGTH+1 lpnSize是lpBuffer的位数,3.获得操作系统版本API函数,BOOL GetVersionEx(LPOSVERSIONINFO lpVersionInfor ); 参数lpVersionInfor是指向OSVERSIONIN

10、FO结构的指针 。,typedef struct _OSVERSIONINFO DWORD dwOSVersionInfoSize;/指定该数据结构的字节大小DWORD dwMajorVersion;/操作系统的主版本号DWORD dwMinorVersion;/操作系统的副版本号DWORD dwBuildNumber;/操作系统的创建号DWORD dwPlatformId;/操作系统ID号TCHAR szCSDVersion 128 ;/关于操作系统的一些附加信息 OSVERSIONINFO;,编程举例:,OSVERSIONINFO osver; osver.dwOSVersionInfoS

11、ize =sizeof(OSVERSIONINFO); GetVersionEx(,4.获得系统信息API函数,函数原型 VOID GetSystemInfo(LPSYSTEM_INFO lpSystemInfo); 参数lpSystemInfo是指向SYSTEM_INFO结构的指针,SYSTEM_INFO结构的定义如下: typedefstruct_SYSTEM_INFO union DWORDdwOemId;/子结构(已废弃的成员) structWORDwProcessorArchitecture;/CPU的体系结构 WORDwReserved;/保留 ; ;DWORDdwPageSize

12、; /页面的大小 LPVOIDlpMinimumApplicationAddress;/最低内存地址 LPVOIDlpMaximumApplicationAddress;/最高内存地址 DWORDdwActiveProcessorMask;/CPU的掩码 DWORDdwNumberOfProcessors;/CPU的数目 DWORDdwProcessorType;/ CPU 类型 DWORDdwAllocationGranularity;/虚拟内存空间的粒度 WORDwProcessorLevel;/体系结构依赖的CPU级别 WORDwProcessorRevision;/系统体系结构依赖的C

13、PU版本号 SYSTEM_INFO;,5.获得物理内存和虚拟内存信息API函数,函数原型为:VOID GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer);参数lpBuffer是一个指向名为MEMORYSTATUS的结构的指针。函数的返回信息会被存储在MEMORYSTATUS结构中。 此函数无返回值。,MEMORYSTATUS结构定义: typedef struct _MEMORYSTATUS / mst DWORD dwLength; / sizeof(MEMORYSTATUS) DWORD dwMemoryLoad; / percent of memor

14、y in use DWORD dwTotalPhys; / bytes of physical memory DWORD dwAvailPhys; / free physical memory bytes DWORD dwTotalPageFile; / bytes of paging file DWORD dwAvailPageFile; / free bytes of paging file DWORD dwTotalVirtual;/ user bytes of address space DWORD dwAvailVirtual;/ free user bytes MEMORYSTATUS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论