例えばフォーカスのあるメモ帳(のウィンドウ)のハンドルを得るには、GetActiveWindowや
GetForegroundWindowで事足りるのですが、その中のEdit部分のハンドルを得る方法が
分かりません。
仮にメモ帳だと分かってるならFindWindowEXでクラス名を指定してやれば行けますが、一般にフォーカス
を現在持っている入力部位のハンドルを得る方法です。(例えばIEの検索窓とか)
お分かりの方、よろしくお願いします。
GetForegroundWindow と AttachThreadInput と GetFocus を組み合わせると
ハンドルが取れる、とMSDNには書いてますね。
GetFocusWindowでハンドルが得られるのではないでしょうか。
IEの検索窓とかはダメかな
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=030830
普通はGetGUIThreadInfo()で取得できますが、ウェブブラウザの
コントロールはウィンドウハンドルを持っていなかったりもします
mmmさんのリンク先のものでそのまま上手くいきました。
皆さん、ありがとうございました。
あ・・・書き込みが。
なるほど、ハンドルはフォーカスを持てるもの全てが持っているわけでは
ないのですね。勉強になりました。
チェック入れ忘れました
ツイート | ![]() |