找回密码
 加入
搜索
查看: 4135|回复: 5

[系统综合] 【已解决】64位系统下Dllopen失败

[复制链接]
发表于 2014-12-22 21:05:13 | 显示全部楼层 |阅读模式
本帖最后由 逆水风帆 于 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 | 显示全部楼层
之前有一个帖子跟这一模一样的,不知最后怎么解决,反正回复里的方法都试过了没用,求大神帮忙解决一下,真的很无奈呀!!谢谢了!
发表于 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的版本也有影响哈!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-28 18:19 , Processed in 0.073451 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表