逆水风帆 发表于 2014-12-22 21:05:13

【已解决】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位系统回调,无效
求,正确的打开方式?

逆水风帆 发表于 2014-12-22 21:06:56

之前有一个帖子跟这一模一样的,不知最后怎么解决,反正回复里的方法都试过了没用,求大神帮忙解决一下,真的很无奈呀!!谢谢了!

scared1 发表于 2014-12-23 02:13:05

是不是你的dll文件没有注册?
试一下这个呢cmd窗口下执行
regsvr32 AntiVC.dll
如果提示注册失败 dll文件前边就加上路径再试试

逆水风帆 发表于 2014-12-23 07:57:51

本帖最后由 逆水风帆 于 2014-12-23 08:00 编辑

回复 3# scared1


    试过了之前,还是不管用呢,还是谢谢你哈

逆水风帆 发表于 2014-12-23 08:03:32

先自己顶起来哈

逆水风帆 发表于 2014-12-23 16:07:25

回复 6# zhao_ming


已经解决了,谢谢了哈!
原来得这样
加上#PRE_Res_requestedExecutionLevel=None
#PRE_UseX64=n
,然后在64位系统下编译为32位系统就能顺利运行,而且AU3的版本也有影响哈!
页: [1]
查看完整版本: 【已解决】64位系统下Dllopen失败