关于AU3调用DLL(附DLL函数体)
我在AU3里调用如下;///////////////////////////////////////
;//此处为取得PID的代码:
;///////////////////////////////////////
$Hawd = WinGetHandle($Name)
If $Hawd <> 0 Then
GetWindowThreadProcessId($Hawd, $pid)
$hd = OpenProcess($PROCESS_ALL_ACCESS, False, $pid)
If $hd = 0 Then
MsgBox(0, $Win, "打不开进程")
Else
MsgBox(0, "取窗口ID", "窗口句柄:" & $Hawd & " 窗口PID:" & $pid & " 打开进程:" & $hd)
EndIf
;$Address = _MemoryRead("0x" & Hex($JiZhi), $Hawd)
;$Address = _MemoryRead("0x" & Hex($Address + 0x1c), $Hawd)
;$Base = _MemoryRead("0x" & Hex($Address + $ofset), $Hawd)
CloseHandle($hd)
Else
MsgBox(0, $Win, "找不到 游戏找CALL练习实例one 的进程ID")
EndIf
;//////////////////////////////////////
;//PID取得结束,下面开始调用DLL
;////////////////////////////////////////
$Dll=DllOpen("wulin.dll")
DllCall($Dll , "none" , "Attack" ,"dword",$pid);//执行这句后,AU3生成的EXE就出错退出,
If @error Then
MsgBox(0,"title",@error)
Exit
EndIf
TrayTip($Win, "普攻", 5)
DllClose($Dll)
//以下是C++里生成DLL的函数体
////////////////////////////////////////////////////////////
wulin_API void Attack( DWORD dwProcessID)
{
InjectRemoteFunc(dwProcessID,CallAttack,NULL,NULL);
return;
}
////////////////////////////////////////////////////////////
[ 本帖最后由 gamehero 于 2009-4-11 09:13 编辑 ] $pid变量根本就不存在,能正常运行才有鬼类。。。 $pid前面已经取得了,代码没贴出来而已 $pid的类型没给吧 PID取得的代码也贴出来了,PID取得应该没有问题的吧
页:
[1]