PostMessage/SendMessageコマンド関連
提供: AutoHotkey Wiki
ウィンドウメッセージについて[編集]
WindowsのGUIは、システムやアプリケーションがウィンドウやGUIコントロールに対してウィンドウメッセージを送信し、ウィンドウを所有するアプリケーションが送られたメッセージに対応した動作を行うことで成り立っている。
AutoHotkeyでも、PostMessageやSendMessageのコマンドでウィンドウメッセージを送信することにより、ウィンドウに対して様々な操作を行うことができる。
ウィンドウメッセージや各メッセージの動作については、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が調べられる。