ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:576.74KB ,
资源ID:15851690      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15851690.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Windows程序设计第02章Win32编程基础知识文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Windows程序设计第02章Win32编程基础知识文档格式.docx

1、n); return 0;在main函数之前的“int”,是主函数的返回值类型,因为有它,所以在主函数的函数体内部的最后,要加入“return 0;”,需要将函数的返回值返还回去。int argc:argc是命令行总的参数个数,即主函数带有多少个参数。char* argv:argv 是指针数组,其中argv是argc个参数(参数内容),其中第0个参数是程序的全名,后面的参数是命令行后面跟的用户输入的参数。现在以DOS命令“dir”为例,假设输入:“dir/w/pc:Windows”,如图2.1所示。图2.1cmd命令行其各个参数的含义解释如下:argc=4argv0dirargv1/wargv

2、2/pargv3Windows如果想编写带有命令行参数的程序,通过对argc与argv的配合即可实现。当然也可以通过参数的内容来实现不能功能的加载。2.2 Win32入口函数C语言有入口函数,当然Win32编程也有入口函数,虽然它们的写法有所不同,但同为入口函数,基本功能是一样的。不一样的是Win32的入口函数相对来说更为复杂,它为窗口应用程序提供相应的参数。为了让大家更好的了解Win32入口函数的参数,先来了解一下C语言的一些参数,表2.1描述了常用的数据类型。表2.1C/C+语言基本数据类型类型说明字节数二进制位值域char字符型18-128127signed char有符号字符类型uns

3、igned char无符号字符类型0255int整型216-3276832767signed int有符号整型unsigned int无符号整型065535short int短整型signed short int有符号短整型unsigned short int无符号短整型long长整型32-231(231-1)signed long有符号长整型unsigned long无符号长整型0(232-1)float浮点型7位有效位数double双精度型6415位有效位数char *字符指针-const char *字符指针常量在表2.1中,需要注意的是“int”类型,在turbo c中,字节数是2,二

4、进制位为16,而在本书中使用的Microsoft Visual C+ 6.0中,字节数是4,二进制位32。如果感兴趣,可以使用“sizeof(int)”语句来验证。如果之前只做过C或C+程序的开发,那接下来的Win32的数据类型会感觉格格不入,还好在对C/C+语言的基本数据类型进行了回顾,接下来作个简单的对比,这样能更好的理解数据类型,如表2.2所示,描述了C语言与Win32常用的数据类型的对比。表2.2C/Win32常用数据类型对比C数据类型Win32数据类型LPSTR, PSTRLPCSTR, PCSTRvoidVOIDvoid *LPVOIDWin32的数据类型众多,有上百个,记忆时可以

5、使用一些技巧,切勿死记硬背,拿“LPCSTR、PCSTR”为例:“LP”与“P”代表同一含义,即指针;“C”代表“const”;“STR”则代表字符串。合起来的意思是常量字符串指针。C语言与Win32的数据类型已经做了简单介绍,接下来该谈一谈Win32的入口函数以及参数的作用,其标准函数原型如下:#include int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) MessageBox(NULL, 显示的内容, 标题, MB_OK);在编写Window

6、s程序时,需要包含头文件“Windows.h”,正如第一行所示。它包含了其他Windows头文件,这些头文件的某些头文件,又包含了其他头文件。在这些头文件中最重要的是:WINDEF.H 基本型态定义;WINNT.H 支援Unicode的型态定义;WINBASE.H Kernel函数;WINUSER.H 用户界面函数;WINGDI.H 图形界面函数;这些头文件涵盖了Win32编程所需要的所有功能及方法,它们是Windows文件中的一个重要组成部分。入口函数中的“int APIENTRY”,其中“int”为函数的返回值类型,“APIENTRY”为函数标识,它本身是通过宏来进行定义的,如图2.2所示

7、,为“WINDEF.H”头文件中所定义的宏的原型。图2.2APIENTRY定义“APIENTRY”是由“WINAPI”定义而来,而“WINAPI”则是由“_stdcall”定义。“_stdcall” 是调用约定,保护如何处理参数压入栈的顺序,谁负责清理内存等。在这里只知道写法即可,不用深究其意。一定要注意的是,Win32的入口函数是“WinMain”而不是“main”,前面的“Win”代表的含义是“Windows”。“HINSTANCE”,根据MSDN的翻译,为进程的实例句柄,它也为数据类型中的一种,句柄类型。作用是加载进程映像的基本地址,在程序中,唯一标识进程。句柄则是整个Win32编程的基

8、础,一个句柄是指,使用的一个唯一的整数值,是指一个四字节的数值,用于标志应用程序中的不同对象的实例,例如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,可以这样说,句柄就像每位同学的学号一样,唯一标识着一个窗口,需要注意的是,句柄不是一个指针,程序不能利用它来直接阅读文件中的信息。接下来介绍一下WinMain函数各个参数的含义:参数HINSTANCE hInstance,进程的实例句柄,在本程序中,唯一标识进程;参数HINSTANCE hPrevInstance,指向应用程序的前一个进程句柄,在32操作系统该参数为NULL,该参数仅仅被用于1

9、6位操作系统,现已经不被使用;参数LPSTR lpCmdLine,命令行缓冲区,不包括程序的名字,回想一下“char* argv”的作用,如果输入“dir /w /p c:Windows”,则lpCmdLine的值为“/w /p c:Windows”;参数int nCmdShow,窗口的显示状态,该参数可以是下表值之一。表2.3窗口显示状态标识描述SW_HIDE隐藏窗口并且激活另外一个窗口。SW_MINIMIZE最小化指定的窗口,并且激活在系统表中的顶层窗口。SW_RESTORE激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同

10、)。SW_SHOW激活一个窗口并以原来的尺寸和位置显示窗口。SW_SHOWMAXIMIZED激活窗口并且将其最大化。SW_SHOWMINIMIZED激活窗口并将其最小化(以图标显示)。SW_SHOWMINNOACTIVE将一个窗口显示为图标。激活窗口维持活动状态。SW_SHOWNA以窗口的当前状态显示窗口。激活窗口保持活动状态。SW_SHOWNOACTIVATE以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。SW_SHOWNORMAL如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)。2.3 Windows API简介API(Application

11、 Programming Interface,应用程序编程接口),是操作系统提供给开发者的应用程序编程接口。用户使用该接口可以调动操作系统资源,而又无需访问源码,或理解内部工作机制的细节,从而实现自己的应用程序的功能。简单理解,API即为函数,是由操作系统提供,开发者不需要知道函数的具体实现方法,只要了解其功能及使用方法即可。由于API是操作系统提供,所以它有一个特性,即编译环境的无关性,如果使用VB、Delphi等期编译环境,也可以同样调用相同的API功能,唯一不同的是各种编程语言上语法的不同。API在计算机系统中的位置如图2.3所示。图2.3API用户接口事实上,Windows API是在

12、安装完操作系统之后,就已经存在了,它是以DLL文件的形式存在,存在“C:WINDOWSsystem32”下,在这个目录下可以看到很多很多的DLL文件,而这些文件就是提供函数接口的地方。DLL文件的操作与说明会在后面的章节介绍,这里就不过多说明。常用的Win32函数库所需要的DLL文件如下:GDI32.DLL:屏幕显示及打印功能的函数集;USER32.DLL:鼠标、键盘、通信端口、声音、时钟功能的函数集;KERNEL32.DLL:文件及内存管理(核心部分)功能的函数集;MPR.DLL:Windows32网络接口库;ADVAPI32.DLL:Windows32、ADVAPI32核心部件。类库和控件都是构架在Windows API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WIN32应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。2.4 开发

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1