Visual Basic 中学校 掲示板 WM_SYSKEYDOWNの使い方について
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
WM_SYSKEYDOWNの使い方について
メッセージ
削除
削除
削除
削除
削除
削除
削除
削除
削除
削除
キャンセル
保存
長すぎるタグやスペースを含むタグなどは登録されず無視されます。
タグの編集
返答する
投稿者
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を使用すべきなのでしょうか?
返答する
(環境: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を使用すべきなのでしょうか?