タイトル : 指定のハンドルに矢印キーの送信 postmessage 投稿日 : 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) にて押すことができます。 |