マウス操作関連の関数について

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

マウス操作関連の関数について

#1

投稿記事 by まる » 6年前

あるアプリケーションでマウスの自動操作を行いたく、mouse_event,sendInputを試したのですができませんでした。
(他のアプリケーションでは動作確認済み)

つぎにSendMessage(HWND hWnd,WM_LBUTTONDOWN,0x0001,0x00c100c1);
とそのアプリケーションに対して送ったのですが、クリックしませんでした。
(こちらは情報が少なかったためこれだけでよいのか自身がありません。)

もちろんハードウェアのマウスからの操作は可能です。
ハードウェアのマウスも何かしら関数を使用し、そのアプリケーションに対してメッセージを送っていると思うのですが、使用しているのはSendMessageでしょうか?

よろしくお願いします。

アバター
へろりくしょん
記事: 92
登録日時: 9年前
住所: 福岡

Re: マウス操作関連の関数について

#2

投稿記事 by へろりくしょん » 6年前

まる さんが書きました:あるアプリケーションでマウスの自動操作を行いたく、mouse_event,sendInputを試したのですができませんでした。
(他のアプリケーションでは動作確認済み)
ちょっと言いたい事がわかりません。 他のアプリケーションではマウスの自動操作できたけれど、今のでは出来ない。 と言う事でしょうか。

まる さんが書きました: つぎにSendMessage(HWND hWnd,WM_LBUTTONDOWN,0x0001,0x00c100c1);
とそのアプリケーションに対して送ったのですが、クリックしませんでした。
普通に出来ますよ。
後、1行ながら突っ込みどころ満載のコードですが、多くは言いません。 ただ、せっかくマクロが用意されているわけですから、使った方がいいですよ。

SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0xc1, 0xc1));


また、マウス操作の自動化という事は、恐らくボタンやら何やらを自動で押して欲しいって事なのだと思いますが、
ボタンをクリックさせる場合は、ボタンメッセージを使います。

SendMessage(hWnd, BM_CLICK, 0, 0);

BM_CLICK メッセージは WPARAM・LPARAM 共に0を指定します。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: マウス操作関連の関数について

#3

投稿記事 by softya(ソフト屋) » 6年前

ウィンドウメッセージに関してはUAC(User Account Control)で異なる管理権限を持つウィンドウに対してはメッセージを送れません。これが原因では? → 回避方法はありません。自分を管理者に昇格するしか無いです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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