他アプリケーションのボタンをクリックするには?

解決


前忠  2006-05-14 15:11:51  No: 21539  IP: 192.*.*.*

Delphiで作成したアプリケーションからVBで作成したアプリケーションのボタンをクリックして、そのクリックイベントの処理を実行したいと考えています。
過去ログを参照してみましたが、それらしいものを見つけることが出来ませんでしたので、ご教授お願いいたします。

編集 削除
オバQ  URL  2006-05-14 18:22:02  No: 21540  IP: 192.*.*.*

COM などが用意されていなければ
ウィンドウメッセージで操作する方法があります
(LINKに例)

ボタンを特定するのに
FinderSystem Dev
http://www.h3.dion.ne.jp/~hanagex/dev/devtool/index.html
などが役に立つかも

編集 削除
前忠  2006-05-14 22:07:53  No: 21541  IP: 192.*.*.*

早いレスありがとうございます。
オバQさんに教えて頂いたとおりFindWindowExとSendMessageを使用して、思い通りの動作を実現することが出来ました!
ただ1つ気になったのですが、今回はFindWindowExを使用してボタンのハンドルを取得したのですが、色々と調べてみたらEnumChildWindowsを使用してボタンのハンドルを取得する方法もあるようですが、どちらを使用する方が一般的なのでしょうか?

編集 削除
f  2006-05-15 09:30:47  No: 21542  IP: 192.*.*.*

Enumとついているのは列挙(一覧取得)なので、
この場合は、FindWindowExで十分でしょうね。

編集 削除
f  2006-05-15 10:39:47  No: 21543  IP: 192.*.*.*

あーボタンかー。
FindWindowExじゃだめかも。
例えば、キャプションが OK で クラスが TButton だと
たくさんあるだろうから、問題がありそう。
親ウィンドウを特定して、それから列挙するべき
なのかなと思います。

編集 削除
f  2006-05-15 10:41:19  No: 21544  IP: 192.*.*.*

あごめんごめん(^^;
FindWindowExでOK。
FindWindowと勘違いした。

編集 削除
前忠  2006-05-16 00:40:03  No: 21545  IP: 192.*.*.*

fさんレスありがとうございます。

>Enumとついているのは列挙(一覧取得)なので、
>この場合は、FindWindowExで十分でしょうね。
FindWindowExの方がプログラムもスマートに記述出来ますので、
FindWindowExを使用してボタンのハンドルを取得したいと思います。
みなさん、ご教授ありがとうございました。

編集 削除