別ウインドウの操作


香良洲  2011-10-21 10:38:51  No: 72967  IP: [192.*.*.*]

ウインドウへキーを送りたいのですがまったく反応がないです。
send postmessage両方反応がなく、sendinputは反応するわけですが
原因わかるかたいらっしゃいますか。findwindowでハンドルを取得してるのですがちゃんとハンドルは取得できていて、メモ帳みたいに子ウインドウがありそれにfindwindowexでハンドルを指定すればいいのかとも思いましたが、これも反応がないです。アクティブにしkeybdeventは成功するのですがこの場合どうすればよろしいでしょうか…。

編集 削除
仲澤@失業者  2011-10-21 12:53:14  No: 72968  IP: [192.*.*.*]

keybd_event()が動くのは当たり前なのでおいといて。
「ウインドウにキーを送る・・・」ところのコードを提示してみて
ください。

少なくとも
 HWND hwnd = ( HWND)対象のHWND;
 ::SendMessage( hwnd, WM_CHAR, MAKEWPARAM( 'A', 0), ( LPARAM)0);
は動くはずです。

また、WM_KEYDOWNなどを送付する場合はDOWNとUPの間に
「人間的な」時間の合間が必要です。Sleep(n)等で調整してみてください。

編集 削除