fenhanxue 发表于 2014-7-8 17:52:07

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

本帖最后由 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位下打开?

skyfree 发表于 2014-7-8 18:28:20

x64的32位重定向问题。其实建议你便以为x64的主程序运行于x64环境,如果实在不能这样做,那就使用API先关闭32位重定向吧。

另外你最好加上请求管理员权限。

fenhanxue 发表于 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

skyfree 发表于 2014-7-10 22:05:03

回复 3# fenhanxue


    把Dll路径写全试试

ceoguang 发表于 2014-7-22 06:08:35

如果是在X64环境下且是在scite中或直接运行脚本,请在脚本前加上#PRE_UseX64=n

逆水风帆 发表于 2014-12-22 19:24:51

回复 1# fenhanxue


    哥们你怎么解决的,我的问题跟你的一模一样的,也是打不开这个插件,一直-1呢,求解决方法

fenhanxue 发表于 2017-2-21 01:06:46

回复 6# 逆水风帆


    5楼啊,大哥

#PRE_UseX64=n
页: [1]
查看完整版本: 求助,dllopen,在不同环境下,有些可以打开,有些不行,为什么?【已解决】