在 Windows 中运行 64 位版本

AutoIt 传统上是 32 位应用程序. 从 3.2.10.0 开始发布 x64 版本, 并添加了部分组件, 包括:

安装期间,如果涉及 x64 的安装,你可以选择安装并且配置 x64 版本. 这些版本完全与 x 64 兼容, 然而, 一些脚本使用DllCall/DllStruct 自定义结构时, 使用的值会破坏 64 位系统的兼容性 (例如使用 32 位整数指针). 这种情况还包括一些 AutoIt 提供的 UDF, 因为他们还没有在 x64 位平台下进行过完整测试.

可以运行 x86 版本的 AutoIt, 右键点击脚本图标, 然后选择 "运行脚本 (x86)".

如果发现某个脚本不能正常工作于64位, 但在 X86 能正常运行, 请报告此错误.

如果想知道正在运行的 Windows 是否是 64 位版本, 请使用 @OSArch 宏指令检测.

如果想知道正在使用的 AutoIt 是 32 还是 64 位版本, 请使用 @AutoItX64 宏指令检测.

 

在 x64 系统上运行 AutoIt 的 32 位版本

Windows 对一些特殊的系统目录有一个重定向机制:

目 录 32 位值 64 位值
@SystemDir @WindowsDir & "\SYSWOW64" @WindowsDir & "\System32"
@ProgramFilesDir {SystemDrive} & "\Program Files (x86)" {SystemDrive} & "\Program Files"

通过禁用重定向机制,可以访问这些 64 位版本的目录.


DllCall("kernel32.dll","int","Wow64DisableWow64FsRedirection","int",1)
 

更多信息请参考 MSDN.

对于注册、使用 HKCR64 或 HKLM64 绕过重定向机制等等信息, 见注册表函数文档资料.

 

provider with jb51.net (unicode)