AutoIt 傳統(tǒng)上是 32 位應(yīng)用程序. 從 3.2.10.0 開始發(fā)布 x64 版本, 并添加了部分組件, 包括:
安裝期間,如果涉及 x64 的安裝,你可以選擇安裝并且配置 x64 版本. 這些版本完全與 x 64 兼容, 然而, 一些腳本使用DllCall/DllStruct 自定義結(jié)構(gòu)時(shí), 使用的值會(huì)破壞 64 位系統(tǒng)的兼容性 (例如使用 32 位整數(shù)指針). 這種情況還包括一些 AutoIt 提供的 UDF, 因?yàn)樗麄冞€沒有在 x64 位平臺(tái)下進(jìn)行過完整測(cè)試.
可以運(yùn)行 x86 版本的 AutoIt, 右鍵點(diǎn)擊腳本圖標(biāo), 然后選擇 "運(yùn)行腳本 (x86)".
如果發(fā)現(xiàn)某個(gè)腳本不能正常工作于64位, 但在 X86 能正常運(yùn)行, 請(qǐng)報(bào)告此錯(cuò)誤.
如果想知道正在運(yùn)行的 Windows 是否是 64 位版本, 請(qǐng)使用 @OSArch 宏指令檢測(cè).
如果想知道正在使用的 AutoIt 是 32 還是 64 位版本, 請(qǐng)使用 @AutoItX64 宏指令檢測(cè).
Windows 對(duì)一些特殊的系統(tǒng)目錄有一個(gè)重定向機(jī)制:
目 錄 | 32 位值 | 64 位值 |
@SystemDir | @WindowsDir & "\SYSWOW64" | @WindowsDir & "\System32" |
@ProgramFilesDir | {SystemDrive} & "\Program Files (x86)" | {SystemDrive} & "\Program Files" |
通過禁用重定向機(jī)制,可以訪問這些 64 位版本的目錄.
DllCall("kernel32.dll","int","Wow64DisableWow64FsRedirection","int",1)
更多信息請(qǐng)參考 MSDN.
對(duì)于注冊(cè)、使用 HKCR64 或 HKLM64 繞過重定向機(jī)制等等信息, 見注冊(cè)表函數(shù)文檔資料.
provider with jb51.net (unicode) |