本帖最后由 emutemp 于 2015-2-3 13:29 编辑
这样使用?
$tagStudent ="struct;align 1;char stuno[10];char name[10];float score[2];float sum;float aver;endstruct"
$tStudent1= dllstructcreate($tagStudent )
$tStudent2= dllstructcreate($tagStudent )
$tStudent3= dllstructcreate($tagStudent )
$tStudent4= dllstructcreate($tagStudent )
$tStudent5= dllstructcreate($tagStudent )
$tagStudentArray="ptr dllstructgetptr($tstudent1);ptr dllstructgetptr($tstudent2);ptr dllstructgetptr($tstudent3);ptr dllstructgetptr($tstudent4);ptr dllstructgetptr($tstudent5);"
$tStudentArray = dllstructcreate($tagStudentArray)
$HandleOpen=DllOpen("icomm.dll")
DllCall($HandleOpen,"int","GetInfo","int",$InfoNum,"ptr",DllStructGetPtr($tStudentArray))
似乎还不行,总共有3条信息记录,运行到DLLcall后autoit的脚本进程出错。
dll本身也有日志文件输出,看日志文件,GetInfo函数功能成功调用执行了,也返回了查询到的信息,估计还是autoit在将多条返回信息写结构体数组数据时出错了。 |