プロが教えるわが家の防犯対策術!

例えば、こういった「他アプリ」があったとします。

Listboxをマウスクリックして選択項目を選択すると
ダイアログが表示されて変更されたことを表示するアプリです。

上記の内容を自作アプリで操作したのです。
そこで、
まず、「SendMessage ******, LB_SETCURSEL, 2, 0)」で
Listboxのindex「2」に選択をさせるメッセージを送信しました。
インテックス選択(変更)は行われましたが、マウスクリックした
ようなイベントはおこりませんでした。

そこで、質問なんですが、上記「他アプリ」を自作ソフトで操作するには
どのようにしたら良いのでしょうか?

わかる方がいらっしゃいましたらご教授願えませんでしょうか?
よろしくお願いします。

A 回答 (3件)

LBN_SELCHANGEかな



参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=894824
    • good
    • 0
この回答へのお礼

お世話になりましたおかげさまで、Listの内容を相手方のイベントで反映させることができました。ありがとうございました

お礼日時:2004/08/12 02:02

>マウスクリックしたようなイベントはおこりませんでした



ListBOXを選択させているだけのSendMessageでマウスのクリックイベントが発生するはずもなく。マウスクリックのイベントを発生させたいのなら、同様にマウスクリックのイベントもSendしましょう。(参考URLの1828


が、プログラム的には別にインデックスの変更だけ見張っておいても問題ないかと思いますが。マウスクリックを発生させる利点は別にないかと。

参考URL:http://www.bcap.co.jp/hanafusa/VBdengon/log_1801 …
    • good
    • 0

エクセルVBAでやってます。

VBにも同じようなものはあるので修正してください。SendMessageとかのレベルへもって行かなくても良いように思って、一筆。
Sub test06()
Worksheets("sheet5").ListBox1.AddItem "新規"
Worksheets("sheet5").ListBox1.AddItem "変更"
Worksheets("sheet5").ListBox1.AddItem "抹消"
End Sub
で例えば3項目をリストボックスにアイテムを登録。
リストボックスのクリックイベントに
Private Sub ListBox1_Click()
MsgBox Worksheets("sheet5").ListBox1.List(ListBox1.ListIndex) _
& "を実行しました"
End Sub
例えば、新規をクリックすると「新規を実行しました」と表示します。ここを修正して
ListBox1.ListIndexの値で、各モジュールに飛ばせばどうですか。
力不足の勘違いならご免あそばせ。
    • good
    • 0

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


このQ&Aを見た人がよく見るQ&A