AIとのコピペ往復を、AutoHotkey と Window Spy でショートカット化する

下書き。気づいたこと・スクショ・実例を随時つけ足していく。

はじめに:何が面倒だったか

複数のAIを行き来して作業していると、同じ操作をひたすら手で繰り返すことになる。

  • ブラウザのAIの返答を 全選択 → コピー
  • ターミナル(あるいはデスクトップアプリ)の方へ ウィンドウを切り替え
  • 入力欄に 貼り付け → 送信
  • 返ってきたものをまた コピーして元へ戻す

中身は毎回違うのに、「コピー・切り替え・貼り付け・送信」という手の動きは完全に同じ。これをキー一発にまとめられたら、と思ったのがきっかけ。

最初は「マウス操作を録音して再生するソフト」を考えたが、AI相手だとこれは壊れやすい(理由は後述)。最終的に AutoHotkey(AHK)+ Window Spy に落ち着いたので、その記録。

なぜ「録音再生ソフト」ではダメだったか

TinyTask のような「マウスの座標ごと録って再生する」タイプは、決まったUIなら便利。でもAIとのやり取りでは2点で破綻する。

  1. タイミングが毎回違う — AIの返答が終わる時間は一定じゃない。「3秒待つ」と決め打ちすると早すぎ/遅すぎになる。
  2. 座標がズレる — ウィンドウを少し動かしただけで、録った座標が全部おかしくなる。

そこで方針を変えた。座標を録るのをやめて、「ウィンドウ名で切り替え+クリップボードで貼り付け」にする。さらに「長い1本の自動再生」ではなく、小さなショートカットを2〜3個に分けて、頃合いは自分で見て押す。これで壊れない。

AutoHotkey(AHK)とは

Windows用の自動化スクリプトツール。今回うれしいのはこの2つ。

  • キーボードショートカットの割り当てが標準機能^!1:: と書くだけで「Ctrl+Alt+1にこの動作」が組める。
  • クリップボードとウィンドウ操作が得意。今回やりたいことの本体がまさにこれ。

単体で動いて軽い。個人のちょっとした自動化にちょうどいい。最新は v2 系。

メモ:v1 と v2 は文法が違う。ネットのサンプルは v1 が多いので、コピペするとき注意。この記事は v2 で書く。

Window Spy とは:ウィンドウの「正体」を調べる道具

AutoHotkey をインストールすると一緒に入ってくる付属ユーティリティで、正式名称は「Window Spy (AU3_Spy / WindowSpy.ahk)」です。マウスカーソル下のウィンドウ情報(ウィンドウタイトル、ウィンドウクラス(ahk_class)、プロセス名(ahk_exe)、マウス座標、カーソル下のピクセル色、選択中テキストなど)をリアルタイムで表示してくれるもので、AHKスクリプトを書くときに「対象ウィンドウをどう指定するか」を調べるのに使います。

AHKでウィンドウを指定するとき、何を手がかりに窓を見分けるかが肝になる。

手がかり 安定性
ウィンドウのタイトル ChatGPT - Google Chrome △ ページやタブで変わる。脆い
実行ファイル名 ahk_exe chrome.exe ◎ 起動し直しても変わらない
ウィンドウクラス ahk_class Chrome_WidgetWin_1 ◎ ターミナル等の識別に
組み合わせ ChatGPT ahk_exe chrome.exe ◎ 一番堅い

ポイントは、タイトルより ahk_exe(実行ファイル名)で指定する方が壊れにくいこと。

では、その ahk_exe やクラス名をどうやって知るのか。ここで Window Spy の出番。AHKに最初から付いてくるツールで、

  1. Window Spy を起動する(タスクトレイのAHKアイコンを右クリック →「Window Spy」、またはスタートメニューから)
  2. 調べたいウィンドウにマウスを乗せる
  3. そのウィンドウの タイトル / ahk_exe / ahk_class などがリアルタイムで表示される

「ウィンドウの正体をAPIで取得できないか」と身構えなくても、この付属ツールが答えを全部見せてくれる

実際にやること

1. AHK v2 をインストール

公式サイトからインストーラを落として入れるだけ。

https://www.autohotkey.com/v2/


AutoHotkey v2 のインストール方法

AutoHotkey v2 とは

AutoHotkey は、Windows 上でホットキーやテキスト展開、各種自動化スクリプトを作成できる無料・オープンソースのソフトウェアです。v2 は言語仕様の使いやすさと一貫性を高めることを目的に再設計されたバージョンで、2022年12月20日に v2.0.0 が正式リリースされました。なお後方互換性は犠牲にされているため、v1 用に書かれたスクリプトは原則としてそのままでは v2 で動作しません。

ライセンスは GNU General Public License(GPL)で、ソースコードは GitHub で公開されています。

動作環境

対応 OS は Windows 7 以降です。v2.0-beta.4 以降は v1.1 と同居してインストールでき、どちらのバージョン向けのスクリプトも手間なく動かせるようになっています。

インストール方法

公式サイトの「Downloads」セクションから、インストーラー(exe)版または zip 版のどちらかを入手できます。一般的なユーザーには、操作が簡単なインストーラー版をおすすめします。

方法1:インストーラー(exe)を使う場合

公式サイトのダウンロードページから最新のインストーラーをダウンロードし、ファイルを実行します。表示されるオプションを確認したうえで「Install」をクリックすればインストールは完了です。

方法2:zip を使う場合

zip 版を利用する場合は、まずダウンロードした zip ファイルをエクスプローラーで開きます(解凍は必須ではありません)。あるいは中身を一時フォルダーに展開してもかまいません。次に、その中にある Install.cmd を実行します。このとき「発行元を確認できませんでした。実行しますか?」といった警告が表示された場合は「実行」をクリックしてください。最後に、必要に応じてオプションを変更してから「Install」をクリックします。

インストール後

インストールが完了すると、「Dash」と呼ばれる管理画面が自動的に開きます。ここからドキュメントの閲覧やスクリプトの作成など、各種機能にアクセスできます。

ダウンロード時の注意点

公式サイトでは、Google セーフ ブラウジングがダウンロード用ディレクトリを「有害なプログラムを含む」と誤検知することがある、と案内されています。これは誤検知であり、詳細は公式サイトの「Safe Browsing」の説明で確認できます。安心のため、ダウンロードは必ず公式サイト(autohotkey.com)または公式 GitHub から行うようにしてください。

まとめ

AutoHotkey v2 のインストールは、公式サイトからインストーラーをダウンロードして実行するだけで簡単に完了します。インストール後は自動的に Dash が開くので、そこから最初のスクリプト作成に進めます。


公式の最新ドキュメントは Online Documentation で確認できます。

AutoHotKeyのMCP

MCPをいれると、動作検証をAIができるようになる。。。はず。今から確認する。

AutoHotkey の MCP サーバーは GitHub 上に複数ありますが、同じ「ahk-mcp」という名前で代表的なものが2つあります。リンクと違いを一覧にまとめました。

リンク

リポジトリ URL
spyoungtech/ahk-mcp https://github.com/spyoungtech/ahk-mcp
TrueCrimeDev/ahk-mcp https://github.com/TrueCrimeDev/ahk-mcp

違いの比較一覧

項目 ① spyoungtech/ahk-mcp ② TrueCrimeDev/ahk-mcp
概要 AutoHotkey 機能を MCP で公開し、Windows の自動化操作を AI から実行 AutoHotkey v2 開発向け MCP サーバー(補完・診断・実行が中心)
言語・基盤 Python(Python MCP SDK / FastMCP) TypeScript(Node.js 18+ / npm)
主な目的 PC操作の自動化(キーボード・マウス・ウィンドウ操作) AHKスクリプトの開発支援(解析・検証・ドキュメント)
主な機能 ウィンドウ/アプリ列挙、キーボード・マウス制御、Windows API 照会、画面キャプチャ+OCR、マルチモニター対応 ファイル操作、スクリプト解析・診断、スクリプト実行(プロセス追跡・ウィンドウ検出)、ドキュメント検索
ツール数 33ツール 25以上のツール(AHK_* 系)
OCR機能 あり(mss / easyocr / numpy 使用) なし
対応OS Windows 専用 Windows(AHK v2 実行に必要)
通信方式 (記載なし/FastMCP標準) Stdio・SSE 両対応
依存 ahk-binary, ahk, mss, easyocr, numpy Node.js, npm, AutoHotkey v2
インストール mcp install main.py(Claude Desktop へ簡単導入) git clonenpm installnpm run buildnpm start
ライセンス (明記なし) MIT
Star数(参考) 約18 約33

ざっくり使い分け

  • ①spyoungtech版 … 「AIにPCを操作させたい」用途向き。マウス・キーボード制御やOCRなどコンピュータ操作系が強く、Pythonベースで導入も手軽です。
  • ②TrueCrimeDev版 … 「AHKv2のスクリプトを書く・直す」開発支援向き。コード補完・診断・実行検証・ドキュメント検索が充実し、TypeScript製でStdio/SSE両対応です。

2. Window Spy で対象ウィンドウを調べる

行き来する窓それぞれにマウスを乗せて、ahk_exe を控える。例:

  • ブラウザ → chrome.exe(Edgeなら msedge.exe
  • ターミナル → WindowsTerminal.exe
  • デスクトップアプリ → そのアプリの exe 名

3. スクリプトを書く

.ahk という拡張子のテキストファイルを作って、下のように書く。先頭の3行だけ自分の環境に合わせて書き換える。

#Requires AutoHotkey v2.0
#SingleInstance Force

; ── 対象ウィンドウ(Window Spy で調べて書き換える)──
BROWSER  := "ahk_exe chrome.exe"           ; ブラウザ
TERMINAL := "ahk_exe WindowsTerminal.exe"  ; ターミナル
DESKAPP  := "ahk_exe Claude.exe"           ; デスクトップアプリ

; Ctrl+Alt+C : 今いる窓を全選択してコピー
^!c:: {
    Send("^a")
    Sleep(60)
    Send("^c")
    ClipWait(1)        ; コピー完了を待つ(最大1秒)
}

; Ctrl+Alt+1/2/3 : クリップボードを各窓へ貼って送信
^!1:: PasteTo(BROWSER)
^!2:: PasteTo(TERMINAL)
^!3:: PasteTo(DESKAPP)

PasteTo(win) {
    if !WinExist(win) {                    ; 窓が無ければ知らせて中断
        ToolTip("窓が見つからない: " win)
        SetTimer(() => ToolTip(), -1500)
        return
    }
    WinActivate(win)                       ; 前面化はAHKに任せる(後述の地雷を回避)
    WinWaitActive(win, , 1)                ; 前面になるまで最大1秒待つ
    Sleep(80)
    Send("^v")                             ; 貼り付け
    Sleep(120)
    Send("{Enter}")                        ; 送信
}

4. ショートカットに割り当て…は、もう済んでいる

^!1::^ が Ctrl、! が Alt。つまりこの時点で Ctrl+Alt+1 に動作が割り当たっている。AHKを常駐させれば、どのアプリにいてもこのキーが効く。やりたかった「ショートカット一発」はこれで完成。

記号メモ:^=Ctrl / !=Alt / #=Win / +=Shift

ハマりどころ(自分でWin32を叩くと踏む地雷)

AHKを使うと勝手に処理してくれるが、仕組みを知っておくと事故りにくい。

  1. 前面化の拒否 — Windowsには「裏のプロセスが勝手に最前面を奪うのを禁止」する仕様がある。素朴に SetForegroundWindow を呼んでも前に出てこないことがある。AHKの WinActivate はこの回避策を内蔵しているので、ただ呼べば前に出る。
  2. ターミナルの貼り付けキー — Windows Terminal は Ctrl+V で貼れるが、古いコンソールだと効かないことがある。その場合は貼り付けキーを変える。
  3. 管理者権限 — 相手のウィンドウを管理者権限で動かしているなら、AHK側も管理者で起動しないとキーが届かない。

使ってみた感想

今後やりたいこと(追記予定)

  • [ ] クリップボードの中身を退避・復元して、元のコピー内容を壊さないようにする
  • [ ] 同じブラウザの「別タブ」を行き来する場合の書き方(Ctrl+TabCtrl+1/2
  • [ ] 誤爆防止に、まとめてON/OFFできるトグルを付ける
  • [ ] Window Spy の使い方を画像つきで丁寧に

この記事は下書き。随時更新。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   最終更新のRSS
Last-modified: 2026-06-19 (金) 04:53:17