(完整word版)易语言API图文教程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

易语言与WIN32 API的使用

本人也是个小菜鸟啦。。

今天写这个,就是为了一下比我还新手的同学参考参考的资料。。

----------------------

基础知识:

先来了解一下,什么的动态链接库

再看看,什么是API。

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

推荐API工具,是易语言自带的API助手,一般在X:\e\wizard\API助手

如下图,,很好用,很强大哦。。

可以看出,有了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版本的。

好,既然函数定义好了,那么使用吧!

相关文档
最新文档