WM_SYSKEYDOWNの使い方について への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 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を使用すべきなのでしょうか?