タイトル | : 指定のハンドルに矢印キーの送信 postmessage |
記事No | : 16445 |
投稿日 | : 2018/08/14(Tue) 16:42 |
投稿者 | : jusu |
お世話になります。 ある、パッケージアプリがあり、そこへの入力をある程度自由化しようと試みています。 ターゲットウィンドウ(キャプション hogehoge)には、 選択項目が3つあり、下段に OK、キャンセル、ヘルプボタンがあります。
hogehoge -------------------------(1) -------------------------(2) -------------------------(3) [OK] [キャンセル] [ヘルプ]
ここで、1〜3を選択するのは矢印キー上下か、マウスクリックです。 矢印キーの入力を自動化できないかと思っています
hWnd = FindWindowEx(0, 0, "ウィンドウクラス", "hogehoge") 'このウィンドウを選択 Cwnd = GetWindow(hwnd, 5) Cwnd = GetWindow(Cwnd, 2) 冗長ですがこんな感じで、(1)(2)(3)ウィンドウハンドルを取得しました
そこで、矢印キーを送信したのですが選択肢が動きません Ret = PostMessage(Cwnd, WM_KEYUP, VK_DOWN, 1)
結果をspyで見ました プログラム結果 Cwnd P WM_KEYUP nVirtKey:VK_DOWN cRpeat:1 ScanCode:00 fExtended:0... 直接下矢印を押した結果 Cwnd P WM_KEYUP nVirtKey:VK_DOWN cRpeat:1 ScanCode:50 fExtended:1 ... Scancode? Extennted ?
何かヒントでもありましたらお願いします。
ちなみに、OKボタンは、OKボタンのハンドルを取得して lngRet = SendMessage(Mwnd, BM_CLICK, 0, 0) にて押すことができます。
|