Delphiで自作した別のアプリケーションのEditに、テキストデータを送りたい
のですが、可能でしょうか?。
APIのEnumChildWindowsで別アプリケーションのEditのハンドルは捕まえられ
るのですが、そこからが解かりません。
SendMessageで、送るのが一番簡単でしょう。
WM_SETTEXTで、エディットコントロールにテキストを送れますから。
使い方は、インターネットでメッセージ名を検索すればすぐ出てくるでしょう。
ただ、両方とも自分のソフトということなら、
べつの(ファイル経由など)の方法のほうが、
あとあといいかもしれません。
たかみちえさん。ありがとうございました。
WM_SETTEXTでうまくいきそうです。
参考までにもう少し教えてほしいのですが、
>両方とも自分のソフトということなら、べつの(ファイル経由など)の
>方法のほうが、あとあといいかもしれません。
ファイル経由とは、どのように行うのでしょうか?。
WM_SETTEXTだと、非同期にメッセージを送りつける訳ですよね。(ほんと?)
ファイル経由という事は、Editにテキストを送りたい方のEXEに、何かしら
のイベントを発生させて、例えばINIファイルを読み込ませたり・・・
という事でしょうか?
よろしくお願い致します。
SendMessageでいきますので、解決です。
ファイル経由の話はまたの機会にお願い致します。
ありがとうございました。
わたしに"次の機会に"なんて無用です。
忘れてしまいます^^;
なんて冗談はさておき。
> ファイル経由とは、どのように行うのでしょうか?。
> WM_SETTEXTだと、非同期にメッセージを送りつける訳ですよね。(ほんと?)
確かめてないですけど、理論上はSendMessageは同期になるはずです。
(同一の働きで、相手の処理を待たないPostMessageは、非同期)
この場合では、これが一番いいのでしょうけど。
> ファイル経由という事は、Editにテキストを送りたい方のEXEに、何かしら
> のイベントを発生させて、例えばINIファイルを読み込ませたり・・・
そうですね、たとえば、思ったとおりIniファイルを使う方法です。
TIniFileを両方が作成し、ウィンドウがアクティブになったときに読み直す・・・などすれば、
テキストはもちろん、上のようにできますけど、
そのほかにも、内部で使っているパラメータのやり取りもできますね。
そうすれば、WM_SETTEXTより幅広いことを、手間をかけずにできるということになります。
これとSendMessageなどをうまく組み合わせれば、よりスマートに、お互いの操作ができるかもと思い、書いてみました。
なるほど。
いろいろな方法があるんですね。
少しテストして研究してみようと思います。
ありがとうございました。
ツイート | ![]() |