MT4ショートカットキー設定ツール Accela2e の64bitOS対応。

以前の記事で紹介した、超絶便利な MT4ショートカットキー設定ツール Accela2e ですが、Windows7 64bit + AutoHotkey_L(32bit or 64bit のUnicode版) + Accela2e.ahk の組み合わせで一部の機能が動かないことが判明しました。
Accela2e を常駐しておくと、Win + E のキーで、experts フォルダを開くことができます。Win + B で MT4 を再起動できます。
ところが、上記組み合わせでは以下のエラーが発生します。


解決策の1つは、AutoHotkey_L のインストール時に ANSI(32bit)を選ぶか、AutoHotkey Basic をインストールします。これで従来通り機能します。



せっかく 64bitOSを使うのですから、AutoHotkey も 64bit (..というかUnicode版) にしたいという人は以下の修正をしてください。

 CallResult := DllCall("Psapi.dll\GetModuleFileNameExA", "UInt", hProcess, "UInt", 0, "Str", ModuleFileName, "UInt", FileNameSize)

↑この一行を見つけて、↓以下のように書き換えます。

  if(A_IsUnicode){
    CallResult := DllCall("Psapi.dll\GetModuleFileNameExW", "UInt", hProcess, "UInt", 0, "Str", ModuleFileName, "UInt", FileNameSize)
  }else{
    CallResult := DllCall("Psapi.dll\GetModuleFileNameExA", "UInt", hProcess, "UInt", 0, "Str", ModuleFileName, "UInt", FileNameSize)
  }

ANSI版とUnicode版で呼び出す関数名が少し違う..というのが原因でした...orz