您的位置:首页 > 其它

L脚本语言调用操作系统API

2015-05-26 10:00 323 查看
L脚本语言支持直接调用操作系统提供的C语言API函数,以保证供更大程度的灵活性

目前,仅支持函数调用约定为__stdcall 的C语言函数

C语言的变量和L脚本语言的对象不是一一对应的关系,因此调用C语言函数的时候不能直接将L脚本语言的对象作为参数传入,但是可以进行适当的转换

 

下面是一个调用windows系统kernel32.dll中OutputDebugStringW函数和

一个调用user32.dll 中MessageBoxW函数的例子

并将其封装为L脚本语言的全局函数

#scplib

定义:字符串,kernel32,c:\windows\system32\Kernel32.dll

定义:C函数,MyOutputDebugStringW,kernel32,OutputDebugStringW,无,C宽字符指针

定义:函数,输出调试信息,调试消息

开始:函数,输出调试信息


定义:C宽字符指针,参数1,调试消息
调用:C函数,MyOutputDebugStringW,无,参数1

结束:函数,输出调试信息

注册:函数,输出调试信息




#scplib

定义:字符串,user32,c:\windows\system32\user32.dll

定义:C函数,myMessageBoxW,user32,MessageBoxW,C整数,句柄,C宽字符指针,C宽字符指针,C无符号整数 

定义:函数,弹窗,标题,内容

开始:函数,弹窗


定义:句柄,参数1,0

定义:C宽字符指针,参数2,内容

定义:C宽字符指针,参数3,标题

定义:C无符号整数,参数4,0

定义:C整数,返回值,0

调用:C函数,myMessageBoxW,返回值,参数1,参数2,参数3,参数4 

结束:函数,弹窗

注册:函数,弹窗




#scp

导入:库,H:\ScriptEngine\Scripts\kernel32lib.scp

导入:库,H:\ScriptEngine\Scripts\user32lib.scp

定义:字符串,调试信息,"hellodebugmessage"

定义:字符串,dbgstring,"abcd"

输出调试信息:调试信息

输出调试信息:dbgstring

定义:字符串,string1,你好程序员

定义:字符串,string2,标题

弹窗:string2,string1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  L脚本语言