マウス・キーボードイベントの取得と反映

解決


とら  2003-11-14 01:42:47  No: 52484  IP: [192.*.*.*]

マウス・キーボードイベントを取得して、反映させるには?

マウス・キーボードイベントを取得して、
後で反映させるプログラムの作成をしたいと考えています。

今、私が考えているのは、
OnKeyDown()やOnKeyUp()などの関数の引数をテキストファイルに保存して、
そのファイルを呼び出して、もう一度、OnKeyDown()やOnKeyUp()などの関数を
使用する、ということを考えているのですが、
それ以外にもっといい方法はあるのでしょうか?

編集 削除
YuO  2003-11-14 01:49:34  No: 52485  IP: [192.*.*.*]

対象次第だと思います。

自プログラムが対象であれば,Commandパターンそのものということになります。

編集 削除
とら  2003-11-14 02:05:53  No: 52486  IP: [192.*.*.*]

YuOさん、アドバイスありがとうございます。

ネットワークプログラミングについての質問のときにも、
アドバイスをいただいて、とても勉強になりました。

今回、私がやりたいのは、マウス・キーボードイベントの自動化です。
一度やったことを記憶して、
次回からは、やったことを記憶したファイルを参照するだけで
すむようなものを作成したいと考えています。

自分で書いたものを参照するのも何ですが、
>そのファイルを呼び出して、もう一度、OnKeyDown()やOnKeyUp()などの関数
では、マウス・キーボードイベントの反映はできないように思います。
(それに気づいて、すぐに戻ってきたらYuOさんのアドバイスがあったので驚きました)

マウス・キーボードイベントの自動化をしたい場合のイベントの反映というのはどのようにすれば実現ができるのでしょうか?

とら

編集 削除
とら  2003-11-14 02:10:55  No: 52487  IP: [192.*.*.*]

何度もすみません。とらです。

>自プログラムが対象であれば
自プログラムが対象では、ありません。

ディスクトップ画面での操作を自動化させたいと考えています。

編集 削除
AUT`s  2003-11-14 13:05:08  No: 52488  IP: [192.*.*.*]

keybd_event←こんなんでどう?
ハンドル取得してSendMessageする方法もあるけど、対象アプリがGetKeyStateとかでバッファを直接取得していたら動かない。あとDirectInput系も動かない可能性アリ...

編集 削除
とら  2003-11-14 23:33:44  No: 52489  IP: [192.*.*.*]

AUT`sさん、はじめまして、アドバイスありがとうございます。

keybd_event・mouse_eventですね、調べてみます。

SendMessageの方は、全く聞いたことがありませんでした、こちらも調べてみたいと思います。もし、詳しく書いてあるページがありましたら、教えていただきたいと思います。

AUT`sさん、本当にアドバイスありがとうございました。これからもよろしくお願いします。

とら

編集 削除
とら  2003-11-18 14:37:44  No: 52490  IP: [192.*.*.*]

とらです。
AUT`sさんのアドバイス通り、keybd_eventを使っているのですが、
EscとEnterは、うまく反映できたのですが、
半角/全角キーの取得と反映がうまくいきません。
どのようにすれば実現ができるのでしょうか?

編集 削除
AUT`s  2003-11-18 15:14:48  No: 52491  IP: [192.*.*.*]

> 半角/全角キー
多分IMEの起動をエミュレートしたいんだと思うけど、どうなんでしょ?
ちなみにIMEは全半キーでは起動しないので注意しま。

> SendMessage
いや、対象のアプリがWM_KEYDOWNとかで処理してるなら、
ハンドル取得してSendMessageしてやればいいかなと思うただけ。
ってか、API全然知らないでしょ?
大雑把でいいから、どんな事ができるか一覧を眺めるのもいいかもね〜

編集 削除
AUT`s  2003-11-18 15:20:28  No: 52492  IP: [192.*.*.*]

ちょっち敷居が高いと思うけど、他プロセスからIMEをさわるサンプルぽいもの?
http://www.zero.co.jp/develop/free/o1/index.html

編集 削除
とら  2003-11-18 16:44:42  No: 52493  IP: [192.*.*.*]

AUT`sさん、何度もアドバイスありがとうございます。

>多分IMEの起動をエミュレートしたいんだと思うけど
そうです。

>ちなみにIMEは全半キーでは起動しないので注意しま。
そうだったのですね。勉強不足でした。
”IMEの起動をエミュレートするには”についてと
”他プロセスからIMEをさわるには”について調べてみたいと思います。

とら

編集 削除
とら  2003-11-18 17:30:21  No: 52494  IP: [192.*.*.*]

AUT`sさんのアドバイスのおかげで、
短時間で、IMEの起動をエミュレートを実現することができました。

AUT`sさん、本当にアドバイスありがとうございました。
これからもよろしくお願いします。

とら

編集 削除
とら  2003-11-19 06:14:30  No: 52495  IP: [192.*.*.*]

keybd_event・mouse_eventを使用して、
実現させることができました。

YuOさん、AUT`sさん、アドバイスありがとうございました。

とら

編集 削除