PostMessage/SendMessageコマンド関連

提供: AutoHotkey Wiki
移動: 案内検索
リファレンス > その他解説 > PostMessage/SendMessageコマンド関連 - 公式ドキュメント

ウィンドウメッセージについて[編集]

WindowsのGUIは、システムやアプリケーションがウィンドウやGUIコントロールに対してウィンドウメッセージを送信し、ウィンドウを所有するアプリケーションが送られたメッセージに対応した動作を行うことで成り立っている。
AutoHotkeyでも、PostMessageSendMessageのコマンドでウィンドウメッセージを送信することにより、ウィンドウに対して様々な操作を行うことができる。

ウィンドウメッセージや各メッセージの動作については、Web上に多くの資料がある。
一般的なメッセージの一覧については、ウィンドウメッセージ一覧で検索 すると解説しているサイトが多数見つかる。

WM_COMMANDのコマンド番号を調べる[編集]

「WM_COMMAND」メッセージを送ると、メニューなどのコマンドを実行させることができる。
WM_COMMANDを送るには、Msg引数に「0x111」を指定する。
wParam引数にはコマンドIDを指定する。

コマンドIDを調べる簡単な方法は、Resource Hacker を使う方法である。
調べたい実行ファイルを開き、ツリーの「Menu」以下を見ると、

MENUITEM "&File...   \tL",  40029

のような形式でメニュー項目が記述されている。
一番最後の数字が、メニュー項目に対応するコマンドIDである。

また、ツリーの「Accelerators」以下では、

VK_A, 40019, NOINVERT, CONTROL, VIRTKEY

のような行が列挙されている。
コマンド名が書かれていないのでわかりづらいが、ショートカットキーに対応するコマンドIDが調べられる。