wszjljx 发表于 2012-2-22 22:47:35

动态执行API函数 标准模块

本帖最后由 wszjljx 于 2012-2-22 22:55 编辑

函数名:ExecuteAPI

参数:LibraryName As String    API函数所在动态链接库路径
      APIName As String          API函数名称
      APIParam() As Variant   API函数的参数(字符串数据需要传递内存地址)

返回值:API函数的返回值

使用示例:
Dim a() As Byte
Dim b() As Byte
a = StrConv("家新" & Chr(0), 128)
b = StrConv("粽子" & Chr(0), 128)
MsgBox ExecuteAPI("user32.dll", "MessageBoxA", 0, VarPtr(a(0)), VarPtr(b(0)), 65)

billypon 发表于 2012-2-23 10:35:51

我觉得可以用c++封装一下,提供重载,一个是带 LibraryName ,一个不带 LibraryName。
内置一些常用API的常用 LibraryName ,当调用不带 LibraryName 的函数时,则自动匹配 LibraryName 。
是不是有点蛋疼,哈哈。。。

wszjljx 发表于 2012-2-23 19:24:55

这个用VB也可以做到 为啥要用C++

马大哈 发表于 2012-2-25 18:53:48

我想起了陈辉的那个远程执行API的东西,嘿嘿:

陈辉的好东西--VB变态应用之"移花接木",远程调用API(VB6.0)
http://www.m5home.com/bbs/thread-1669-1-1.html
页: [1]
查看完整版本: 动态执行API函数 标准模块