易语言API高级技巧

本文介绍了如何在易语言中实现API的高级技巧,包括使用指针获取变量地址以及通过字节集解决结构对齐问题。通过示例展示了如何定义DLL命令以获取文本和整数的指针,并解释了由于易语言数据类型对齐导致的问题,以及如何利用字节集成功调用如GradientFill等API。
摘要由CSDN通过智能技术生成
首先声明,本文的读者:具有相当的易言语基础的、能较熟练地把常用的的API从VB/C声明转换到易言语DLL命令的易言语喜欢者。
1,使用指针
易言语中出于安定、方便考虑,没有直接提供指针,这正在进行一些高级 纵时不是很方便,固然有一些第三方支撑库可以取出变量指针(比如我的eLib++ 注:该支撑库系Delphi开发,本人已开放源代 ,你可以到易言语下载区瞧瞧)但是仅仅为了这个 纵就带上一个支撑库不太值得。实在用一个API,加上一些技术就可以欺骗Windows和易言语,让它们报告你一个变量的指针。
这个API是lstrcpyn。用过C开发Windows下的步骤的朋友可能对这个API相比熟识,就是字符串拷贝。正在windows下取代C准则库函数strncpy的。字符串拷贝怎样能获得变量指针呢?秘密就正在这个API的返回值:
瞧瞧MSDN:“If the function succeeds, the return value is a pointer to the buffer”
该函数把第二个参数指定的字符串双制到第一个参数指定的字符串,第三个参数指定双制的长度。假如双制成功,返回第一个参数(缓冲区buffer)的地点。瞧到了吗?它返回第一个参数的地点!!那么我们把需求取地点的变量给它的第一个参数,然后想要领让它双制成功,它不就返回了那个变量的地点了吗?
界说一个DLL命令如下:
Dll命令:取文本指针
返回值类型:整数型
正在Dll库中的命令名:lstrcpyn
参数:欲取其指针的文本 数据类型:文本型 <传址>
参数࿱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值