AutoIt unter Windows 64-Bit Edition

AutoIt war immer eine traditionelle 32-Bit Anwendung. Seit dem v3.2.10.0 Release wurden einige Komponenten mit ausschließlich x64-Versionen hinzugefügt, unter anderem:

Während der Installation, sofern sie auf einem x64-System läuft, wird angeboten, diese x64-Versionen zu installieren und zu konfigurieren. Diese Versionen sind voll x64 kompatibel, obwohl einige Skripte, die DllCall/DllStruct mit eigenen Benutzerstrukturen benutzen, Werte benutzen können, die die 64-Bit Kompatibilität durchbrechen (wenn z.B. 32-Bit Integerzahlen als Zeiger genutzt werden).

Man kann die x86-Version von AutoIt mit einem Rechtsklick auf ein Skript und Auswahl von "Run Script (x86)" starten.

Um zu erkennen, ob ein System unter einer x64 Edition von Windows läuft, verwendet man das Makro @OSArch. Um zu erkennen, ob man eine 32 oder 64-Bit Version von AutoIt nutzt, verwendet man das Makro @AutoItX64.

Ausführung der 32-Bit Version von AutoIt auf einem x64 System

Windows hat einen speziellen Mechanismus für das Festlegen von einigen System-Verzeichnissen:

Verzeichnisse 32-Bit Wert 64-Bit Wert
@SystemDir @WindowsDir & "\System32" @WindowsDir & "\SYSWOW64"
@ProgramFilesDir {SystemDrive} & "\Program Files (x86)" {SystemDrive} & "\Program Files"

Durch das deaktivieren dieses 'Umleitungsmechanismus' ist es möglich, auf die 64-Bit Versionen dieser Verzeichnisse zuzugreifen.

@@SyntaxHighlighting@@ #include _WinAPI_Wow64EnableWow64FsRedirection(True) @@End@@

Mehr Informationen findet man bei MSDN.

Für die Registry nutzt man HKCR64 oder HKLM64, um den Umleitungsmechanismus zu umgehen. Siehe Registry Funktionsdokumentation.