注意:
Autoitによって呼び出されるdllライブラリインターフェイスはCで記述する必要があります。つまり、呼び出される関数はCの構文と定義です。
主に使用する機能
DllCall ( "dll", "return type", "function" [, type1, param1 [, type n, param n]] )
DllStructCreate ( Struct [, Pointer] )//创建C/C++的数据结构变量,供DllCall使用
DllStructSetData ( Struct, Element, value [, index] )//设置变量数值
DllStructGetData ( Struct, Element [, index = Default] )//得到变量数值
実用化
呼び出されるdllのパスがd:/testdll/TestFuns.dllであり、呼び出される関数が次のように宣言されているとします。
float TestFun(char *sFileName, int *x, float *y, int z) //y为数组指针,大小为1024,作为输出参数,x和z是输入参数
1.変数を定義します
Local $sFileName = "d:/test.txt"
Local $tX =DllStructCreat("int")
Local $tY =DllStructCreat("float[1024]")
Local $iZ
Local $Dll = "d:/testdll/TestFuns.dll"
Local $fResult[1024]
2.電話する
DllCall($Dll, "float:cdecl", "TestFun", "struct*", $tX, "struct*", $tY, "int", $iZ)
3.結果を得る
for $i = 1 To 1024
$fResult[$i-1] = DllStructGetData($tY, 1, $i)
Next