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

解決


前忠  2006-05-15 00:11:51  No: 21539

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


オバQ  URL  2006-05-15 03:22:02  No: 21540

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

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


前忠  2006-05-15 07:07:53  No: 21541

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


f  2006-05-15 18:30:47  No: 21542

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


f  2006-05-15 19:39:47  No: 21543

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


f  2006-05-15 19:41:19  No: 21544

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


前忠  2006-05-16 09:40:03  No: 21545

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加