Running under Windows 64-bit Edition

AutoItは元来は32ビットアプリケーションですが 3.2.10.0 リリースから下記を含むx64バージョンのコンポーネントが追加されました:

インストール時にx64上での実行を検知するとx64バージョンのインストール、設定を行うかどうかの選択肢が表れます。このバージョンはx64完全互換ですが DllCall/DllStructで自作の構造体を使用している一部のスクリプトでは64ビット互換性を破る値を使用する場合があります(ポインタに32ビット整数を使用するなど)。これはAutoItに同梱されているUDFにも含まれ、その全てがx64環境下でテストされているわけではありません。

スクリプトを右クリックし"Run Script (x86)"を選ぶことでAutoItのx86バージョンのを実行することができます。

x86環境下で正常に動作するスクリプトがx64環境で正常に動作しない疑いがある場合はバグレポートを行うようお願いします。

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を使って切り替えシステムを回避する方法についてはレジストリ関数のドキュメントを参照。