あるアプリケーションでマウスの自動操作を行いたく、mouse_event,sendInputを試したのですができませんでした。
(他のアプリケーションでは動作確認済み)
つぎにSendMessage(HWND hWnd,WM_LBUTTONDOWN,0x0001,0x00c100c1);
とそのアプリケーションに対して送ったのですが、クリックしませんでした。
(こちらは情報が少なかったためこれだけでよいのか自身がありません。)
もちろんハードウェアのマウスからの操作は可能です。
ハードウェアのマウスも何かしら関数を使用し、そのアプリケーションに対してメッセージを送っていると思うのですが、使用しているのはSendMessageでしょうか?
よろしくお願いします。
マウス操作関連の関数について
Re: マウス操作関連の関数について
ちょっと言いたい事がわかりません。 他のアプリケーションではマウスの自動操作できたけれど、今のでは出来ない。 と言う事でしょうか。まる さんが書きました:あるアプリケーションでマウスの自動操作を行いたく、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
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: マウス操作関連の関数について
ウィンドウメッセージに関してはUAC(User Account Control)で異なる管理権限を持つウィンドウに対してはメッセージを送れません。これが原因では? → 回避方法はありません。自分を管理者に昇格するしか無いです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。