找回密码
 加入
搜索
查看: 2771|回复: 8

DLLCALL如何调用DLL内的函数?(提供了C++里的调用方法)

[复制链接]
发表于 2008-11-16 18:44:28 | 显示全部楼层 |阅读模式
test.DLL 内含的函数GetLicenseInfo,他的C++调用方式如下:
bool GetLicenseInfo( 
 char* pName,   
  char* pCompanyName,   
  char* pCustomData 
  ); 
问题
1.如何用DLLCALL调用这个DLL的 GetLicenseInfo 函数?
2.如何获得该函数的参数 pName、pCompanyName、pCustomData 的值?

用DLL关键词找了论坛,提到相关资料很少,只好再来问了。
我的初步代码如下,不过觉得好像有问题。

$dll = DllOpen("test.dll")
$result = DllCall($dll, "int", "GetLicenseInfo", "int", "pName", "int", "pCompanyName","int", "pCustomData")
DllClose($dll)
MsgBox (0, "", $result)


[ 本帖最后由 thackit 于 2008-11-21 19:17 编辑 ]
发表于 2008-11-16 20:03:38 | 显示全部楼层
BOOL = "int"
 楼主| 发表于 2008-11-21 18:35:55 | 显示全部楼层
更新了顶楼的问题,请大家再帮忙。
 楼主| 发表于 2008-11-22 14:01:02 | 显示全部楼层
奋不顾身的一顶
发表于 2009-4-10 10:44:14 | 显示全部楼层
你在C++里写DLL时,必须指明哪几个函数将被外部调用,所有将被外部调用的函数,都必须写上关键字
DLL名_API


bool PrjName_API GetLicenseInfo(
char* pName,
char* pCompanyName,
char* pCustomData
);
发表于 2009-4-10 11:10:16 | 显示全部楼层
你在C++里给的是char型指针变量,到AU3里变int了,怎么可能正常……
发表于 2009-4-10 11:11:18 | 显示全部楼层
布尔值可以视为int
发表于 2009-9-15 11:11:35 | 显示全部楼层
有高手把这个部分多讲讲吗!?
发表于 2009-9-30 12:21:10 | 显示全部楼层
我也想听听
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 06:23 , Processed in 0.089549 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表