【已解决】64位系统下Dllopen失败
本帖最后由 逆水风帆 于 2014-12-23 16:08 编辑$AntiDll = DllOpen("AntiVC.dll") ;识别的dll路径在32位系统下完全没问题,在64位系统下则一直返回-1错误。 $AntiDll = _WinAPI_LoadLibrary('AntiVC.dll')
If Not $AntiDll Then
ConsoleWrite($AntiDll & ' - ' & _WinAPI_GetLastError() & @CR)
Else
ConsoleWrite($AntiDll & ' - ' & '0' & @CR)
EndIf使用_WinAPI_LoadLibrary函数则返回0x00000000无效句柄$AntiDll = DllOpen("c:\Windows\System32\user32.dll")而如果调用系统的Dll文件则正常,返回1
试过的方法:
补全dll文件的完整路径,无效
获取管理员权限,无效
加入#PRE_UseX64=n,无效
开启或禁用64位系统回调,无效
求,正确的打开方式? 之前有一个帖子跟这一模一样的,不知最后怎么解决,反正回复里的方法都试过了没用,求大神帮忙解决一下,真的很无奈呀!!谢谢了! 是不是你的dll文件没有注册?
试一下这个呢cmd窗口下执行
regsvr32 AntiVC.dll
如果提示注册失败 dll文件前边就加上路径再试试 本帖最后由 逆水风帆 于 2014-12-23 08:00 编辑
回复 3# scared1
试过了之前,还是不管用呢,还是谢谢你哈
先自己顶起来哈 回复 6# zhao_ming
已经解决了,谢谢了哈!
原来得这样
加上#PRE_Res_requestedExecutionLevel=None
#PRE_UseX64=n
,然后在64位系统下编译为32位系统就能顺利运行,而且AU3的版本也有影响哈!
页:
[1]