現在フォーカスのある入力部のハンドルを得るには?

解決


アルファ  2007-06-14 10:45:41  No: 26627

例えばフォーカスのあるメモ帳(のウィンドウ)のハンドルを得るには、GetActiveWindowや
GetForegroundWindowで事足りるのですが、その中のEdit部分のハンドルを得る方法が
分かりません。

仮にメモ帳だと分かってるならFindWindowEXでクラス名を指定してやれば行けますが、一般にフォーカス
を現在持っている入力部位のハンドルを得る方法です。(例えばIEの検索窓とか)

お分かりの方、よろしくお願いします。


あれ  2007-06-14 14:19:14  No: 26628

GetForegroundWindow  と  AttachThreadInput と  GetFocus  を組み合わせると
ハンドルが取れる、とMSDNには書いてますね。


Fusa  2007-06-15 09:52:22  No: 26629

GetFocusWindowでハンドルが得られるのではないでしょうか。


mmm  2007-06-15 16:25:23  No: 26630

IEの検索窓とかはダメかな
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=030830


n  2007-06-16 06:37:33  No: 26631

普通はGetGUIThreadInfo()で取得できますが、ウェブブラウザの
コントロールはウィンドウハンドルを持っていなかったりもします


アルファ  2007-06-16 07:02:44  No: 26632

mmmさんのリンク先のものでそのまま上手くいきました。
皆さん、ありがとうございました。


アルファ  2007-06-16 07:09:14  No: 26633

あ・・・書き込みが。
なるほど、ハンドルはフォーカスを持てるもの全てが持っているわけでは
ないのですね。勉強になりました。


アルファ  2007-06-16 17:24:41  No: 26634

チェック入れ忘れました


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

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






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