VBGood网站全文搜索 Google

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

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: reker

最简单的VB动态调用外部函数(附源代码)

[复制链接]
发表于 2008-9-8 05:05:47 | 显示全部楼层

回复 #1 reker 的帖子

不就是我们以前和超级绿豆在csdn里发的那个callapibyname吗?

PS:偶在csdn的nickname boyzhang(爱你爱到windows没BUGS那天)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-8 23:47:50 | 显示全部楼层
原帖由 kernel64 于 2008-9-8 05:05 发表
不就是我们以前和超级绿豆在csdn里发的那个callapibyname吗?

PS:偶在csdn的nickname boyzhang(爱你爱到windows没BUGS那天)

不知道。。。不认识。。。事实上从来不上CSDN
这个方法有人想到过很正常吧。。。超简单的WS方法
不过我还有更WS的
回复 支持 反对

使用道具 举报

发表于 2008-9-16 22:05:16 | 显示全部楼层
顶个.....但我还看不懂..:
回复 支持 反对

使用道具 举报

发表于 2008-9-19 12:44:14 | 显示全部楼层
mark

PctGL说vb调用各种dll只会带来1%~3%的损耗

突然在想
是不是vb自己的 DllFunctionCall 也是用类似的方法干的
调用api的时候 只是在函数里面加一个错误检测  就直接就 jmp 到对应 dll里了

怀疑中,有空测试一下。
回复 支持 反对

使用道具 举报

发表于 2008-9-19 17:02:55 | 显示全部楼层
vb貌似为代码调用的api建立了一个链表或者是数组,第一次调用某api时如果没有对应的地址,则getmodulehandle ,getprocaddress ,第2次也是先对比查找有没有对应的函数地址,如果有直接jmp,没有则load,msdn说过效率问题几乎可以完全忽略,以前的测试结果也是这样,没有哪个api的调用效率高于3%, 那个啥。。。 想再说一遍, seh真检测不到参数压多了。。  而且执行不出错,seh也不会被调用,所以跟seh无关,seh是可以保持栈平衡,但他检测不到参数总长度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-22 10:35:08 | 显示全部楼层
原帖由 PctGL 于 2008-9-19 17:02 发表
想再说一遍, seh真检测不到参数压多了。。  而且执行不出错,seh也不会被调用,所以跟seh无关,seh是可以保持栈平衡,但他检测不到参数总长度

恩,但debugger用自己的seh代替了程序默认的seh,所以在调试状态下就出错了
比如使用了hide od插件的od,当VB程序中执行shell命令的时候,由于seh的关系,od直接错误报告。
回复 支持 反对

使用道具 举报

发表于 2008-9-29 19:52:35 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

发表于 2008-10-12 15:18:32 | 显示全部楼层
我连看都看不懂...拼命学习中...
回复 支持 反对

使用道具 举报

发表于 2008-10-17 15:44:45 | 显示全部楼层
今天发觉这么经典的东西。。。。
回复 支持 反对

使用道具 举报

发表于 2008-11-12 08:26:36 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

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

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-4 23:35

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表