fankcer 发表于 2010-10-25 09:26:36

请教关于DllCall调用VB制作的Dll问题

本帖最后由 fankcer 于 2010-10-25 09:27 编辑

我需要一个能够获取图片指定像素点颜色的工具,找不到现成工具,在按键精灵论坛上有人提供了一个dll,功能是“获取硬盘图片中某像素点(x,y)颜色”,格式如:a=fanren.getpiccolor(“C:\111.bmp”,x,y),就想改成在AU3中使用,我的代码如下:Local $dll,$a
Fileinstall("C:\fanren.dll",@tempdir&"\fanren.dll",1)
$dll = DllOpen(@tempdir&"\fanren.dll")
Run("regsvr32"&Chr(32)&"/s"&Chr(32)&$dll)
$a = DllCall($dll, "str:cdecl", "getpiccolor", "str", "C:\111.bmp", "int", 18, "int", 12)
MsgBox(0,"",$a)获得的结果是“0”,正确的应该是一个6位的16进制数据,尝试过把“:cdecl”去掉,也试过用 Depends 查看 fanren.dll 的 Function ,把查到的4个 Function Name (DllCanUnloadNow、DllGetClassObject、DllRegisterServer、DllUnregisterServer)依次替代 getpiccolor 后运行,也没用,再用 eXeScope 查看,找到“Class fanren”,也试着用 fanren ,还不行。至此,完全不知道该怎么办了。
我对编程一知半解,也不知道自己的操作对不对,请求各位帮忙看看,问题出在哪,或者在 AU3 有什么功能可以替代该dll的功能吗?
谢谢!
fanren.dll下载(rayfile)

xgysww 发表于 2010-10-25 23:10:15

好高深呀,看不懂
页: [1]
查看完整版本: 请教关于DllCall调用VB制作的Dll问题