SendInputについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
のり

SendInputについて

#1

投稿記事 by のり » 11年前

SendInputについてです.
SendInputでカーソルを動かし, SendInputでクリックを行うプログラムを作成しました.

しかし, スクリーンキーボードで文字入力を行おうとした場合, クリックできません.

他のところはクリックできるのですが, スクリーンキーボード上だとSendInputによるクリックが効きません.

何か解決方法がありましたら, ご教授お願いいたします.

のり

Re: SendInputについて

#2

投稿記事 by のり » 11年前

質問者です.

どなたかご存知の方いらっしゃいませんか?

Bull
記事: 149
登録日時: 11年前

Re: SendInputについて

#3

投稿記事 by Bull » 11年前

どのような環境で、どのようなプログラムを実行していますか。
また、キー入力を受け取るアプリケーションは何ですか?

簡単なプログラムを書いて実行したところ、うまくキーを拾えているようです。

当方の環境は
Windows7 Pro 32bit
Visual Studio 2010でコンソールアプリケーションを作成
OS標準のスクリーンキーボードからメモ帳に文字を入力

以上です

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: SendInputについて

#4

投稿記事 by みけCAT » 11年前

のり さんが書きました:SendInputでカーソルを動かし, SendInputでクリックを行うプログラムを作成しました.

しかし, スクリーンキーボードで文字入力を行おうとした場合, クリックできません.

他のところはクリックできるのですが, スクリーンキーボード上だとSendInputによるクリックが効きません.
Bull さんが書きました:簡単なプログラムを書いて実行したところ、うまくキーを拾えているようです。
両者ともプログラムを貼っていただいて、比較するとなにかわかるかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Bull
記事: 149
登録日時: 11年前

Re: SendInputについて

#5

投稿記事 by Bull » 11年前

ええ、そうなんですよね。ソースを提示できればいいのですが、ご免なさい今手元のありません。

これだけじゃなんなんで、概要だけでも...

コード:

	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() を呼び出すだけです。

コード:

	input[0].mi.dx = x座標;
	input[0].mi.dy = y座標;
	SendInput(3, input, sizeof(INPUT));
やっつけなプログラムなんで、座標は決めうちです。
参考にはなるかもしれませんが、そのままでは動かないです。

閉鎖

“C言語何でも質問掲示板” へ戻る