令狐大虾 发表于 2023-4-26 21:55:02

gyp2000 发表于 2023-4-26 21:46
PE下调用32位fatmat报错,有可能是正确的结果。有些PE会缺少一些依赖文件。
关闭重定向,那就是直接调用64 ...

DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
这是上一个帖子haijie1223回复我的格式化异常添加的代码,这代码就是关闭重定向么?

gyp2000 发表于 2023-4-26 21:59:39

令狐大虾 发表于 2023-4-26 21:48
谢谢,我编译的是64位程序!

有没有一种可能性。你设置成编译64位,然而编译出的程序却是32位的

令狐大虾 发表于 2023-4-26 22:08:02

本帖最后由 令狐大虾 于 2023-4-26 22:10 编辑

gyp2000 发表于 2023-4-26 21:59
有没有一种可能性。你设置成编译64位,然而编译出的程序却是32位的
不至于吧?
我晕,还真的是!以前默认都是64的

令狐大虾 发表于 2023-4-26 22:09:12

haijie1223 发表于 2023-4-26 08:47
自删除问题,关闭重定向应该可以解决。

DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
这个是关闭重定向么?我在代码第一行添加进去就正常了

gyp2000 发表于 2023-4-26 22:09:41

令狐大虾 发表于 2023-4-26 21:55
DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
这是上一个帖子haijie12 ...

是的,这个代码是针对32位应用的。32位程序无法直接访问到系统目录。会重定向到虚拟文件夹。启用这个设置就可以直接访问系统文件夹。 64位程序不存在重定向问题。

gyp2000 发表于 2023-4-26 22:11:24

重定向设置生效,那就说明你编译出来的程序应该是一个32位应用。

令狐大虾 发表于 2023-4-26 22:13:28

gyp2000 发表于 2023-4-26 22:11
重定向设置生效,那就说明你编译出来的程序应该是一个32位应用。

谢谢,再问二楼那个HKEY_LOCAL_MACHINE64
也是编译成32位程序针对重定向的么?

gyp2000 发表于 2023-4-26 22:16:52

令狐大虾 发表于 2023-4-26 22:13
谢谢,再问二楼那个HKEY_LOCAL_MACHINE64
也是编译成32位程序针对重定向的么?

是的 注册表也会重定向。所以32位程序要加64后缀才能64位程序访问的注册表键值。如果是64位程序,就不需要加后缀了。

令狐大虾 发表于 2023-4-26 22:21:16

gyp2000 发表于 2023-4-26 22:16
是的 注册表也会重定向。所以32位程序要加64后缀才能64位程序访问的注册表键值。如果是64位程序,就不需 ...

再次衷心谢谢!

fybhwsx 发表于 2023-4-27 12:24:03

gyp2000 发表于 2023-4-26 22:16
是的 注册表也会重定向。所以32位程序要加64后缀才能64位程序访问的注册表键值。如果是64位程序,就不需 ...

修改哪里可以默认编译成64位程序呢?

gyp2000 发表于 2023-4-27 18:15:23

fybhwsx 发表于 2023-4-27 12:24
修改哪里可以默认编译成64位程序呢?

修改AutoIt3Wrapper的源码可以改变默认编译。

fybhwsx 发表于 2023-4-27 18:30:19

gyp2000 发表于 2023-4-27 18:15
修改AutoIt3Wrapper的源码可以改变默认编译。

感谢!#AutoIt3Wrapper_UseX64 = y

resethdd 发表于 2023-5-1 21:39:19

感谢,学习各位大神的经验,留存备用

6FINGERS 发表于 2023-5-2 11:31:25

我也受这个问题困扰,终于找到解决办法了
页: 1 [2]
查看完整版本: [已解决]谈一下论坛新版AutoIt v3.3.16.1.exe的怪事