「AutoHotkey v2をインストールしたのに、スクリプトが起動しない……。」
そんな経験はありませんか?
私も最初は「インストールに失敗したのかな?」と思い、何度も確認しました。
「AutoHotkey v2 起動しない」「AutoHotkey 文字化け」「CMD 日本語 ファイル名」などで検索しても、自分と同じ症状はなかなか見つかりませんでした。
しかし実際の原因は、AutoHotkeyでもWindowsでもなく、起動用CMDファイルの日本語文字でした。
今回は、私が実際につまずいた内容と、原因を特定して解決するまでの流れを紹介します。同じことで困っている方の参考になれば幸いです。
作りたかったもの
今回作成したのは、アクティブウィンドウが切り替わった瞬間に、マウスポインターをそのウィンドウ中央へ自動で移動するAutoHotkey v2の常駐スクリプトです。
搭載した機能は次のとおりです。
- AutoHotkey v2対応
- 常駐スクリプト
- 前回のアクティブウィンドウIDを記録
- アクティブウィンドウIDが変わった時だけ動作
- 最小化ウィンドウでは動作しない
- デスクトップでは動作しない
- ウィンドウ中央へマウスポインターを移動
- 少し滑らかに移動
- Ctrl + Alt + MでON/OFF切り替え
- Ctrl + Alt + Qで終了
- タスクトレイへ状態表示
- 日本語コメント付き
毎日パソコンを使う中で、「マウスを目的のウィンドウまで動かす手間を少しでも減らしたい」と思ったことがきっかけでした。
今回は実行方法も初めてだった
実は今回、スクリプトの実行方法も私にとって初めてのパターンでした。
これまでは、ChatGPTに教えてもらいながら、エディターから実行したり、右クリックメニューから実行したりすることがほとんどでした。
しかし今回は、エクスプローラーから起動用CMDファイルをダブルクリックして実行する方法に挑戦しました。
普段とは違う方法だったこともあり、「ダブルクリックしても何も起きない」という状況になったときは、「AutoHotkey v2のインストールに失敗したのでは?」と思い込んでしまいました。
ところが、実際の原因はまったく違いました。
最初は日本語名の起動ファイルを作った
スクリプトを簡単に起動できるよう、最初は次のようなファイル名にしました。
- はじめる.bat
- マウス中央移動を開始.bat
ところが、ダブルクリックしても何も起きません。
AutoHotkey v2がインストールされていないのではないかと思い、確認してみました。
インストール先は、
C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe
バージョンは、
AutoHotkey 2.0.26
ちゃんとインストールされていました。
つまり、AutoHotkeyそのものには問題がありませんでした。
本当の原因はCMDファイルの日本語文字だった
さらに調べていくと、本当の原因が分かりました。
日本語名や日本語文字を含むBAT/CMDファイルは、環境によってはコマンドプロンプトで文字化けし、正しくコマンドを実行できないことがあります。
私が作成した起動ファイルも、これが原因でした。
つまり、
AutoHotkey v2が起動しないのではなく、日本語名のCMDファイルが正しく実行されていなかったのです。
「AutoHotkey 文字化け」で検索するとスクリプト側の情報が多く出てきますが、今回は起動ファイル側に原因がありました。
英数字だけのCMDファイルへ変更
そこで、日本語名をやめ、英数字だけの名前に変更しました。
ファイル名は、
START_MOUSE_CENTER.cmd
中身は次のとおりです。
@echo off
set "AHK=C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe"
set "SCRIPT=%~dp0AutoMoveMouseToWindowCenter.ahk"
if not exist "%AHK%" (
echo AutoHotkey v2 was not found.
pause
exit /b 1
)
if not exist "%SCRIPT%" (
echo Script file was not found.
pause
exit /b 1
)
start "" "%AHK%" "%SCRIPT%"
exit /b
これで無事に起動するようになりました。
今度は別のエラーが出た
「やっと動いた!」
と思ったのも束の間、今度は別のエラーが表示されました。
開始メッセージを最前面表示したくて、
MsgBox ..., "Mouse Center", "AlwaysOnTop"
のように指定すると、
Error: Invalid option.
Specifically: AlwaysOnTop
というエラーになります。
調べてみると、AutoHotkey v2ではこの指定方法は使えませんでした。
数値オプションへ変更して解決
そこで、AlwaysOnTopではなく数値オプションを使用しました。
MsgBox "マウス中央移動を開始しました。`n`nCtrl + Alt + M : ON/OFF切り替え`nCtrl + Alt + Q : 終了", "Mouse Center", 262144
これで開始メッセージも正常に表示されました。
ついに完成!
最終的に、スクリプトは思いどおりに完成しました。
ウィンドウを切り替えると、そのウィンドウの中央へマウスポインターが自然に移動します。
地味な機能ですが、何度もウィンドウを切り替える作業では思っていた以上に快適になりました。
今回学んだこと
今回一番勉強になったのは、
「動かない=インストール失敗」と決めつけないことです。
実際には、
- AutoHotkey v2は正常にインストールされていた
- スクリプトにも問題はなかった
- 日本語名のCMDファイルが文字化けしていた
- AutoHotkey v2ではAlwaysOnTopではなく数値オプションを使う必要があった
というように、一つずつ原因を切り分けることで解決できました。
また、今回は初めてエクスプローラーからCMDファイルをダブルクリックして起動する方法を使ったことで、新しい知識も増えました。
初心者の私にとって、とても良い経験になりました。
まとめ
もし「AutoHotkey v2 起動しない」と困っているなら、インストールをやり直す前に、次の点を確認してみてください。
- AutoHotkey v2が正しくインストールされているか
- 実行ファイルの場所が合っているか
- BAT/CMDファイルに日本語名や日本語文字を使っていないか
- コマンドプロンプトで文字化けしていないか
- エラーメッセージを最後まで確認する
今回のように、「AutoHotkey v2が起動しない」と思っていても、原因はインストールではなく、起動ファイルの文字化けということもあります。
私自身かなり遠回りしましたが、おかげで「原因を一つずつ切り分ける大切さ」を学ぶことができました。
同じところで悩んでいる方の時間短縮につながれば、とてもうれしいです。
過去の経験が今につながる
Windows95時代にあった機能を自分で、いちおう形にできるようになった時代2026。
1995から30年くらいたった、30年前にプログラム作った人は、すげえなと本当に思います。
途中のプログラムの内容は、分かりません。GPTが解決まで日本語で対応してます。

コメント