找回密码
 加入
搜索
查看: 7555|回复: 6

[系统综合] 求助,dllopen,在不同环境下,有些可以打开,有些不行,为什么?【已解决】

  [复制链接]
发表于 2014-7-8 17:52:07 | 显示全部楼层 |阅读模式
本帖最后由 fenhanxue 于 2014-7-23 10:35 编辑

代码如下:
$temp = DllOpen("AntiVC.dll")

MsgBox(0,"",$temp)
DllClose($temp)
dll 文件为:


上述代码,在我的win7,64位下面,无法打开,MsgBox(0,"",$temp)  显示的是-1,既 dllopen 的返回值是 -1(失败)

在虚拟机里(xp,32位),可以正常运行,能正常打开,MsgBox(0,"",$temp) 显示的是1,既 dllopen  成功

求助这是什么原因?然后应该怎么做才能在win7 64位下打开?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-7-8 18:28:20 | 显示全部楼层
x64的32位重定向问题。其实建议你便以为x64的主程序运行于x64环境,如果实在不能这样做,那就使用API先关闭32位重定向吧。

另外你最好加上请求管理员权限。
 楼主| 发表于 2014-7-10 11:46:52 | 显示全部楼层
回复 2# skyfree

请问是这样么:
#RequireAdmin
#include <WinAPIFiles.au3>
_WinAPI_Wow64EnableWow64FsRedirection(True)


$temp = DllOpen("AntiVC.dll")

MsgBox(0,"",$temp)
DllClose($temp)
运行后 msgbox 显示的还是 -1
发表于 2014-7-10 22:05:03 | 显示全部楼层
回复 3# fenhanxue


    把Dll路径写全试试
发表于 2014-7-22 06:08:35 | 显示全部楼层
如果是在X64环境下且是在scite中或直接运行脚本,请在脚本前加上#PRE_UseX64=n
发表于 2014-12-22 19:24:51 | 显示全部楼层
回复 1# fenhanxue


    哥们你怎么解决的,我的问题跟你的一模一样的,也是打不开这个插件,一直-1呢,求解决方法
 楼主| 发表于 2017-2-21 01:06:46 | 显示全部楼层
回复 6# 逆水风帆


    5楼啊,大哥

#PRE_UseX64=n
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 05:29 , Processed in 0.078088 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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