




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
易语言与WIN32 API的使用本人也是个小菜鸟啦。今天写这个,就是为了一下比我还新手的同学参考参考的资料。-基础知识:先来了解一下,什么的动态链接库动态链接库动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。 其实你的系统就有很多的动态链接库,例如KERNEL32.DLL UESER32.DLL.再看看,什么是API。API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 推荐API工具,是易语言自带的API助手,一般在X:ewizardAPI助手如下图,很好用,很强大哦。可以看出,有了API,我们编程的生活是多么的美好,很多函数都不需要我们亲力亲为的去写,只要调用就OK了。然后,我们来看一下数据类型。因为在API中有很多地方使用了结构体(看百度哦),为了对这些结构体进行匹配,所以在易语言中我们也要对他建立相应的数据类型。例如这是C语言的结构体格式SYSTEMTIME Structure The SYSTEMTIME structure has the following form:typedef struct _SYSTEMTIME WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; SYSTEMTIME;而我们如果想在易语言中实现他,就可以这样定义.版本2.数据类型 系统时间_, , SYSTEMTIME .成员 年, 短整数型, , , wYear .成员 月, 短整数型, , , wMonth .成员 星期, 短整数型, , , wDayOfWeek .成员 日, 短整数型, , , wDay .成员 小时, 短整数型, , , wHour .成员 分, 短整数型, , , wMinute .成员 秒, 短整数型, , , wSecond.成员 毫秒, 短整数型, , , wMilliseconds你可能会奇怪,我怎么知道什么WORD 是什么类型。OK,这个没关系,易语言API助手他自己为我们建立了匹配的数据类型、如果想知道,自己也可以百度哦。还有一个就是指针。就是易语言参数中的参考和传址,他们两个确保程序修改的变量始终是一个,就是怎么说呢,指针保存的是变量的地址,计算机中的内存都是编址的,就像你家的地址一样,只有找到地址,就可以准确的找到你本人了,而指针就是变量的地址,他可以准确无误的找到变量。但是如果是单纯的变量,每一个形参和实参都是两个变量了,所以你对形参的修改是无法达到对实参的修改的。(PS:形参就是你定义函数时候写的参数,实参就是你调用函数传的参数)PS2:好吧,如果听不明白也没关系。好吧,暂时就说这些知识,如果后面遇到的再说。-1.1 消息框API嗯,今天教大家怎么添加API到易语言中使用,而且用API创建一个比易语言的信息框更加自由的消息框。首先我们在易语言的工作夹上面选到“程序”页面,然后我们在页面上可以肯定“DLL命令”,我们右键,选择插入DLL命令,然后就会跳转到新建API的页面了!然后在DLL定义表(就是打开的那个空白的窗口)右键,选择“新DLL命令”,或者使用组合键CTRL+N键添加。然后在DLL表中添加对应的API函数的库名字(就是属于哪一个动态链接库的dll),库中对应的命令名就是说他的DLL中的函数名称,参数,和返回值。当然了,DLL命令名我们是可以自己更改的(图上写着“DLL命令1”这一栏我们是可以自己定义的)。好,我们给他添加一个API消息框。易语言的信息框信息框应该也是封装了API的函数的,只是他把夫窗口句柄默认设置为主窗口,所以我们使用易语言信息框的时候,总是只能在点玩信息框后才能操作窗口。今天我们就做一个可以自己定义父窗口的消息框。我们这次用的的API命令在API小助手找不到,应该开发者觉得不需要吧。好,他没有封装,我们也可以自己搞一个。他的函数原型是:int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT UType); 注意返回值是int,也就是函数前面的类型,int=整数型HWND是句柄类型,我们可以使用整数型代替。LPCTSTR代表易语言中的文本型UINT代表是易语言中的短整数型。既然知道了具体参数和返回值,那么我们就添加吧。我们可以查到,他所属的dll是USER32.DLL,大家可能说“谁知道他在哪里?”,这个很简单,只要你在百度搜函数名,在百度百科是一般会有所属的,如果说属于user32.lib,那么就是属于user32.dll中的。当然,在易语言的API助手中,他也为我们标明了大部分所属DLL文件。就是图上那样写。但是大家可以发现,库文件对应名字我写的是MessageBoxA,不是说MessageBox吗?是的,A代表的是ASCLL版本的,在易语言中的API很多都是使用ASCLL版本的。好,既然函数定义好了,那么使用吧!.版本 2.程序集 窗口程序集1.子程序 _按钮1_被单击.局部变量 MB_OK, 短整数型.局部变量 MB_OKCANCEL, 短整数型MB_OK 0MB_OKCANCEL 1API_消息框 (0, “Hello API!”, “MB”, MB_OKCANCEL)注意,第一个参数如果写0,就是无所属窗口,就是一个非模态对话框,也就是说,这时候你还是可以操作主窗口的,不信你继续点你的按钮。当然,如果你写了某一个窗口句柄,那么这个消息框就是属于指定窗口句柄的了,你可以自己试试用主窗口的句柄的。大家可能有疑问了,我怎么知道第四个参数填什么,当然你可以在百度上知道他参数具体填什么,然后查询他的常量,然后再填如参数就OK了。(PS:这样定义不常量,是变量,只是为了看起来方便,就不用常量了)怎么查常量?我推荐一个工具具体下载地址我就不发了,大家百度一下“WINDOW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房地产代理销售协议书:生态住宅区代理服务
- 2025标准小型厂房租赁合同及配套设施租赁及维护服务范本
- 2025版砂厂环保设备安装与运行承包服务协议
- 河北省崇礼县2025年上半年公开招聘城市协管员试题含答案分析
- 2025第十一章:国际物流货物保险合同-全面风险控制
- 2025版全新幼儿园场地租赁及幼儿家长活动服务协议
- 2025版光伏发电项目前期物业管理服务合同范本
- 2025版科技研发中心前期物业服务合同范本
- 2025电子商务电子合同法律效力认定与执行合同
- 2025年度会议中心租赁服务合同书
- 《紫藤萝瀑布》《丁香结》《好一朵木槿花》
- 2023柔性棚洞防护结构技术规程
- 浙江工业大学学生综合测评分细则
- 河流地貌的发育 - 侵蚀地貌
- 离网光伏发电系统详解
- 英语初高中衔接音标
- 广告文案写作(第二版)全套教学课件
- 《国家电网公司电力安全工作规程(配电部分)》
- 金融学黄达ppt课件9.金融市场
- GB/T 3758-2008卡套式管接头用锥密封焊接接管
- GA/T 1105-2013信息安全技术终端接入控制产品安全技术要求
评论
0/150
提交评论