TC官方合作论坛
标题:
dllcall如何使用指定路径下的dll? 前两天不是说可以吗
[打印本页]
作者:
alukaduo09
时间:
2013-5-1 16:46
标题:
dllcall如何使用指定路径下的dll? 前两天不是说可以吗
我刚刚封装函数的时候经过测试无法使用绝对路径,必须放在系统路径下才可以调用正确.
调用成功的代码如下 :
功能 二漠网卡码()
如果(文件.是否存在("C:\\WINDOWS\\system32\\HWInfo.dll "))
否则
文件.拷贝("rc:HWInfo.dll","C:\\WINDOWS\\system32\\HWInfo.dll")
如果结束
返回 dllcall("HWInfo.dll","char *","getMAC","int","0")///0为第一块网卡 1为第二块
功能结束
调用失败代码如下
功能 二漠网卡码()
返回 dllcall("rc:HWInfo.dll","char *","getMAC","int","0")///0为第一块网卡 1为第二块
功能结束
作者:
陌上青衣。
时间:
2013-5-1 17:17
rc:是相对路径好吧,
路径=help.getrcpath("rc:")
dllcall(路径&"HWInfo.dll","char *","getMAC","int","0")
作者:
alukaduo09
时间:
2013-5-1 18:27
回复
2楼
陌上青衣。
的帖子
谢谢了,你这个方法可以了. 麻烦帮我看看我这个代码是怎么了. 返回值怎么搞都是 null
调试2个小时了 换E语言 测试是没问题的.
模块句柄=dllcall("kernel32.dll","int","LoadLibrary","char *","user32")
如果(模块句柄==null||模块句柄==0)
返回 -1
否则
函数地址=dllcall("KERNEL32.DLL","int","GetProcAddress","int",模块句柄,"char *","MessageBoxA")
如果(函数地址==null)
dllcall("KERNEL32.DLL","int","FreeLibrary","int",模块句柄)
返回 -1
否则
返回 函数地址
如果结束
如果结束
作者:
jimmykot
时间:
2013-5-1 22:26
沙发......
作者:
TC兔子
时间:
2013-5-12 07:18
回复
3楼
alukaduo09
的帖子
不知道是不是因为结构体的事?TC好像还不支持结构体
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1