AutoHotkey2.0にしたら、スクリプトにD&D出来なくなった。

事象

AutoHotkey2.0をインストールしたら、Drag&Dropでahkスクリプトに別のファイルを渡すことが出来なくなった。

原因

勝手に2.0が適用されて、動かないスクリプト出たら怖いから、プログラムから開くで.ahkファイルは、1.0のAutoHotkeyU32.exeを使うように手動設定していた。

AutoHotkey2.0からは、.ahkファイルはAutoHotkeyUX.exeに対して、launcher.ahkを介して実行するように関連付けしないとうまく動かないみたい。AutoHotkeyUX.exeはv2.0形式の.ahkファイルしか実行できないが、launcher.ahkに.ahkファイルを渡す形で、AutoHotkeyUX.exeを実行すると、開いたscript構文が2.0なら2.0、違うなら1.0のahkファイルとして認識され、それぞれの実行ファイルで実行されるみたい。

AHKは1.0の中でも、Unicode 32bit, Unicode 64bit, ANSI 32bitの3種類あるが、これらの選択は、2.0をインストールすると、スタートメニューにAutoHotkey Dashというショートカットが出来てるので、これを開き、Launcher settingsを開くと、v1.0とv2.0でそれぞれどのexeを使うか設定できる。

結論としては、launcher.ahkを介した関連付けが必要なため、プログラムから開くからの単純なexeへの関連付けではダメそう。

対応

結論としては、AutoHotkey2.0をインストールする時は、素直にインストーラーでインストールするのが良さげ。インストーラーでインストールすれば、勝手にうまく関連付けやってくれるみたい。(寧ろそうしてないとトラブル。。。)

また、v2.0のインストール先は1.0と全く同じだが、2.0はv2というフォルダが作成されてインストールされるので、1.0をインストールしてても、気にせず2.0をインストールして大丈夫。

 

調べたことメモ

AutoHotkey2.0はどの実行ファイルを親として動いてるのかと思い、スタートメニューに出来てた下記ショートカットのパスを見てみた。

AutoHotkey Dash

“C:\Program Files\AutoHotkey\UX\AutoHotkeyUX.exe” “C:\Program Files\AutoHotkey\UX\ui-dash.ahk”

AutoHotkey Window Spy

“C:\Program Files\AutoHotkey\UX\AutoHotkeyUX.exe” “C:\Program Files\AutoHotkey\UX\WindowSpy.ahk”

確認すると、AutoHotkeyUX.exeというもので実行してるようだった。実際、このexeにui-dash.ahkとかをD&Dすると実行される。ではこれを関連付けすれば良いのかと思ったのだが、どうやらそうでは無いらしい。v1.0のコードのファイルをD&Dすると、下記の様に#NoEnvが無いというエラーが出てくる。

Error: This line does not contain a recognized action.
Text:	#NoEnv
Line:	1
File:	C:\Scripts\AutoHotkeyScript\test_v1.ahk
The program will exit.

また、v1.0の.ahkファイルを右クリックして、プログラムから開くにカーソルを合わせると、「AutoHotkey Launcher」という項目が表示される。これが関連付けされてるものかとクリックすると、includeでエラーが出る。右クリック→プログラムから開く→別のプログラムを選択を押すと、「AutoHotkey Dash」という表示の項目がいる。表示が違うから別物なのかなと思いつつ押してみるが、「AutoHotkey Launcher」と同じエラー。どうも、同じものではあるみたい。

しかしながら、単純にv1.0のahkファイルをダブルクリックすると、普通に開く。

色々見てると、launcher.ahkというファイルが下記の場所にいた。

C:\Program Files\AutoHotkey\UX\launcher.ahk

このファイルに、D&Dすると、v1.0、v2.0問わず、どちらの.ahkファイルでも実行することが出来た。

AutoHotkey2.0でのコマンドラインからの実行方法は、下記の様にAutoHotkeyUX.exeに対して、launcher.ahkを挟んで実行するようになってるみたい。

AutoHotkeyUX.exe launcher.ahk [Switches] [Script Filename] [Script Parameters]

プログラムの使い方|AutoHotkey v2

コメント

PAGE TOP
Ads Block Detector Powered by codehelppro.com
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました