他のウインドウの フォーカス位置のハンドルが取得したい

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
koko!yo

他のウインドウの フォーカス位置のハンドルが取得したい

#1 投稿記事 by koko!yo »

-------------------------------------------------------------------------------

久方に記述します。
どなたか また ご教授願えませんでしょうか?
内容・・・
ある ウインドウの 子 ウインドウにフォーカスがあるとき、
ハンドルが取得したい。

要は フォーカス位置のハンドル情報を取得して そのハンドルと 事前に取得して
いるハンドルとの照合を行い 真の とき ~A~  偽 のとき ~B~ という
プログラムがしたいのです。

補足:1・マウスカーソル位置のハンドルではありません。
    2・キャレットの位置でもありません。


どうぞ お助け下さい!
C1000
記事: 185
登録日時: 2006年5月07日(日) 17:16
お住まい: 宮城県
連絡する:

#2 投稿記事 by C1000 »

GetForegroundWindow関数でできないでしょうか?

コード: 全て選択

Dim For As HWND
For=GetForegroundWindow()
koko!yo

フォーカス位置のハンドル取得

#3 投稿記事 by koko!yo »

> GetForegroundWindow関数でできないでしょうか?
>

コード: 全て選択

Dim For As HWND
> For=GetForegroundWindow()
> 
C1000 さん 早速の返答ありがとうございます。

せっかくですが、For=GetForegroundWindow()
ですと ウインドウの 親ハンドルが帰ってくるだけで ウインドウの中の
複数の 子ウインドウがありそこに フォーカスがある場合のハンドル
取得方法が知りたいのです。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

koko!yo
koko!yo

Re: フォーカス位置のハンドル取得

#4 投稿記事 by koko!yo »

> > GetForegroundWindow関数でできないでしょうか?
> >

コード: 全て選択

Dim For As HWND
> > For=GetForegroundWindow()
> > 
> C1000 さん 早速の返答ありがとうございます。
>
> せっかくですが、For=GetForegroundWindow()
> ですと ウインドウの 親ハンドルが帰ってくるだけで ウインドウの中の
> 複数の 子ウインドウがありそこに フォーカスがある場合のハンドル
> 取得方法が知りたいのです。
>
> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>
> koko!yo

///研究の結果解決しました。
GetWindowThreadProcessIdとGetCurrentThreadIdと
AttachThreadInput 等の関数の後に
GetFocus関数で フォーカス位置の(子ウインドウ)ハンドルが
取得できました。
みなさま お騒がせしました。
・・・・・・・・・・・・・・・koko!yo
返信する