SendInputについてです.
SendInputでカーソルを動かし, SendInputでクリックを行うプログラムを作成しました.
しかし, スクリーンキーボードで文字入力を行おうとした場合, クリックできません.
他のところはクリックできるのですが, スクリーンキーボード上だとSendInputによるクリックが効きません.
何か解決方法がありましたら, ご教授お願いいたします.
SendInputについて
Re: SendInputについて
どのような環境で、どのようなプログラムを実行していますか。
また、キー入力を受け取るアプリケーションは何ですか?
簡単なプログラムを書いて実行したところ、うまくキーを拾えているようです。
当方の環境は
Windows7 Pro 32bit
Visual Studio 2010でコンソールアプリケーションを作成
OS標準のスクリーンキーボードからメモ帳に文字を入力
以上です
また、キー入力を受け取るアプリケーションは何ですか?
簡単なプログラムを書いて実行したところ、うまくキーを拾えているようです。
当方の環境は
Windows7 Pro 32bit
Visual Studio 2010でコンソールアプリケーションを作成
OS標準のスクリーンキーボードからメモ帳に文字を入力
以上です
Re: SendInputについて
のり さんが書きました:SendInputでカーソルを動かし, SendInputでクリックを行うプログラムを作成しました.
しかし, スクリーンキーボードで文字入力を行おうとした場合, クリックできません.
他のところはクリックできるのですが, スクリーンキーボード上だとSendInputによるクリックが効きません.
両者ともプログラムを貼っていただいて、比較するとなにかわかるかもしれません。Bull さんが書きました:簡単なプログラムを書いて実行したところ、うまくキーを拾えているようです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: SendInputについて
ええ、そうなんですよね。ソースを提示できればいいのですが、ご免なさい今手元のありません。
これだけじゃなんなんで、概要だけでも...
こんな構造体を用意して、マウスを移動する位置を決めます。
そして SendInput() を呼び出すだけです。
やっつけなプログラムなんで、座標は決めうちです。
参考にはなるかもしれませんが、そのままでは動かないです。
これだけじゃなんなんで、概要だけでも...
INPUT input[] = {
{ INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 0, 0 },
{ INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_RIGHTDOWN, 0, 0 },
{ INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_RIGHTUP, 0, 0 },
};
そして SendInput() を呼び出すだけです。
やっつけなプログラムなんで、座標は決めうちです。
参考にはなるかもしれませんが、そのままでは動かないです。