投稿者 Yan  (社会人) 投稿日時 2016/11/28 23:54:03
初めまして、他のアプリのメニュー操作の実現方法についてご教授ください。
(環境:win7+VB6.0)

現在、他のアプリのメニュー操作(例えば新規作成など)を自動化したいと思っております。

試しに、以下のようにしてみたのですが、うまくいきませんでした。

1.メモ帳を起動
2.メモ帳のハンドルに対して以下を実施
(イメージとしてはAlt→F→Nで「新規作成」を実行しているつもりです)
    Call SendMessage(hWnd, WM_SYSKEYDOWN, VK_MENU, 1&)
    Call SendMessage(hWnd, WM_KEYDOWN, VK_F, 0&)
    Call SendMessage(hWnd, WM_SYSKEYUP, VK_F, 0&)
    Call SendMessage(hWnd, WM_KEYUP, VK_MENU, 0&)
    Call SendMessage(hWnd, WM_KEYDOWN, VK_N, 0&)
    Call SendMessage(hWnd, WM_KEYUP, VK_N, 0&)

sendkeysを使用するのが簡単なのはわかるのですが、
環境上、他のアプリが前面に来る可能性があるため、
出来れば使用したくないと思っています。

そもそも、WM_SYSKEYDOWNでキーイベントを発生させようとしていることがおかしいのでしょうか?
メニュー操作などはWM_COMMANDを使用すべきなのでしょうか?