怎样在vb中声明和使用api函数
展开全部
例如用CopyMemory这个API来举例
声明部分
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
声明解释
private: 私有,只在当前代码所在模块能使用,不影响其他模块
Declare: 用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用
Sub 声明该API是没有返回值的
CopyMemory 当前程序要调用该dll时,所使用的名称
Lib "kernel32"指定当前API是在kernel32这个dll动态链接库中
Alias "RtlMoveMemory" 声明CopyMemory这个API,在kernel32库中的名字不是CopyMemory,而是RtlMoveMemory,
剩余的是参数部分:
Destination As Any,目的地、可以是任何类型的数据
Source As Any,来源,可以是任何类型的数据
ByVal length As Long 长度
调用方法
call CopyMemory(P,ABuffer, lenB(ABuffer)); '可以将ABuffer数据复制到P, ABuffer 和 P 指向不同的内存区
声明部分
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
声明解释
private: 私有,只在当前代码所在模块能使用,不影响其他模块
Declare: 用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用
Sub 声明该API是没有返回值的
CopyMemory 当前程序要调用该dll时,所使用的名称
Lib "kernel32"指定当前API是在kernel32这个dll动态链接库中
Alias "RtlMoveMemory" 声明CopyMemory这个API,在kernel32库中的名字不是CopyMemory,而是RtlMoveMemory,
剩余的是参数部分:
Destination As Any,目的地、可以是任何类型的数据
Source As Any,来源,可以是任何类型的数据
ByVal length As Long 长度
调用方法
call CopyMemory(P,ABuffer, lenB(ABuffer)); '可以将ABuffer数据复制到P, ABuffer 和 P 指向不同的内存区
展开全部
可以在标准模块内使用pubulic声明,
也可以在窗体级通用里用Private声明,
vb6的话可以使用api阅览器生成公有的或私有的函数声明。
具体api函数的使用去网上搜索是有的。
也可以在窗体级通用里用Private声明,
vb6的话可以使用api阅览器生成公有的或私有的函数声明。
具体api函数的使用去网上搜索是有的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
api函数上千个
看你使用哪个
看你使用哪个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询