VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 415|回复: 1

[求助] VB如何调用此DLL中的某个函数

[复制链接]

6

主题

0

听众

128

积分

初级程序员

Rank: 2Rank: 2

擂点
0
人气
0
威望
0
注册时间
2007-11-29
精华
0
帖子
16
发表于 2017-2-18 09:14:07 |显示全部楼层
8金钱
Private Sub Command1_Click()
Dim LibHand As Long '载入的dll句柄
Dim funcAddress As Long '函数地址
LibHand = LoadLibrary(Trim(Text1.Text))      '将dll载入到内存。此步成功,libhand是一个内存地址值
funcAddress = GetProcAddress(LibHand, Trim(Text2.Text))   这步不成功,funcAddress是空值
MsgBox Hex(funAddress)
FreeLibrary LibHand '释放映射库的地址
End Sub
写了段小程序,目的是想调用dll中的一个函数
ADll.zip (55.76 KB, 下载次数: 26)



函数名称是“_A@4”,用viewAPI查看的,这个dll网上下载的,放入大智慧的根目录,编写指标如
var0:adll@a   就可以调用成功,忘大侠们给予指导,谢谢

33

主题

1

听众

1713

积分

中级程序员

Rank: 3

擂点
0
人气
114
威望
43
注册时间
2012-4-30
精华
1
帖子
86
发表于 2017-2-21 23:03:14 |显示全部楼层
Private Declare Function Hahaha Lib "adll.dll" Alias "#9" (ByVal Hehe As Long) As Long
这种奇怪的函数名,我的习惯是写成我看得惯的函数名,然后用Ordinal来导入函数。
至于GetProcAddress嘛,也是可以通过Ordinal获取函数地址的。这个函数甚至可以自己用VB实现
装逼卖老,一刀放倒。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

文字版|手机版|VBGood

GMT+8, 2017-3-28 16:13

VB爱好者乐园(VBGood)
回顶部