掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
直前までアクティブだったwindowからコピーするには (ID:76220)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
えと、ハンドルというものについてはもうわかりますか? 初心者掲示板のほうで何度か書いているので、 そこ参照ということで、詳しくは書きません。 http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200210/02100004.txt ホームページにまとめようとしていますが、まだまとまってません(^^ゞ さて、ウィンドウハンドルはそれでいいとして^^;、 ウィンドウハンドルさえわかれば、SetForegroundWindowなどのAPIでアクティブにできます。 (上で間違えてますね(^^ゞアクティブウィンドウハンドルを得るのは、GetForegroundWindowです) さて、WM_KILLFOCUSというのは、ウィンドウメッセージの一種で、 使ったことはないですけど、その名前から"ウィンドウからフォーカスが失われるとき"に送られてくるものだと思います。 YuOさんの言う正攻法は、メッセージフック(※)をして、このメッセージが来たときに、そのウィンドウハンドルを保存するという方法だと思います。 それだとわたしの言った方法に比べて、不必要に処理をする必要がなく、処理としては軽くなるでしょうね。 そこまで気を使わなくても、大体のパソコンではうまくやってくれると思いますけど。 ※メッセージフック ウィンドウのメッセージが、そのウィンドウに送られる前に自作の関数を通し、 必要ならそれを改変したり、その内容を自分が知ったりできるようにする方法。 自分のアプリケーション以外のウィンドウフックをするには、DLLにその関数をおく決まりになっているので、 DLLを作れないVB単体で作ることはできない。 (ただしDLLだけほかの言語で作っておけば、VBでももちろんつかえる) かくいうわたし、やったことないですけど。何かと面倒そうなので、いつも代替手段で乗り切っています。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.