プロが教える店舗&オフィスのセキュリティ対策術

初歩的な質問で申し訳ありませんがマウスを左クリックさせるプログラムを教えてください。(クリック時イベントではありません)
他のアプリケーションのボタンを押したり押しっぱなしにするプログラムをつくりたいのです。お願いします。

A 回答 (4件)

いえいえかなり高度な質問だと思われます。



簡単なフローとしては、
1.他のアプリケーションのウィンドウハンドルを取得する。
2.そのハンドルのボタンイベントに対して左クリックイベントを投げる。
です。

しかし詳細はとてもここには書ききれません。

P.S.
私ならこれをVBでやるのはやだなぁ…。
C++で作っちゃいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:51

私ならAPIを使います。

確かにCでやるほうが楽ですね。

以前、表示させているダイアログのOKボタンを自動で(プログラムから)押下
するプログラムを作成しましたが、その時は#1のおっしゃるようにしました。

ウィンドウハンドルを取得するのは、FindWindow
OKメッセージを送信するのはSendMessage

これらのAPIを駆使してVCでやりました。
OKメッセージを送信する個所を左クリックメッセージに変えれば
できるかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:49

>左クリックさせる


方法は大きくわけて二つあります。

1.SendMessage関数

Const BN_CLICKED = 0
Call SendMessage(CommandButton.hWnd,BN_CLICKED,0,0)
だったかな?
ボタンに直接クリックメッセージを送信する方法です。


2.はmouse_event関数
http://www.microsoft.com/JAPAN/developer/library …
しばらく使ってないから忘れたけど、確かマウスが自動で移動されてしまうような・・・かなりあいまいです・・・


>押しっぱなしにする
Const WM_LBUTTONDOWN = &H201
Call SendMessage(CommandButton.hWnd,WM_LBUTTONDOWN,0,0)


すべて未検証です。今VB環境がないので・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:47

そのボタンにメッセージを投げればいいのだが、SendMessageだと


そのボタンのウインドウハンドル(hWnd)を取得するのが厄介です。
# 不可能ではないとは思います。

VC付属のSpy++でそのボタンのコントロールIDを調べて、

Call SendDlgItemMessage(コントロールID,BN_CLICKED,0,0)

でどうでしょうか?(未検証)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。だいたいのあらましはわかりました。でも私にはかなりむつかしそうです。でもチャレンジしてみます。

お礼日時:2001/12/04 11:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!