ページ 11

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

Posted: 2006年7月05日(水) 19:42
by koko!yo
-------------------------------------------------------------------------------

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

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

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


どうぞ お助け下さい!

Posted: 2006年7月05日(水) 19:50
by C1000
GetForegroundWindow関数でできないでしょうか?

コード: 全て選択

Dim For As HWND
For=GetForegroundWindow()

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

Posted: 2006年7月05日(水) 19:55
by koko!yo
> GetForegroundWindow関数でできないでしょうか?
>

コード: 全て選択

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

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

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

koko!yo

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

Posted: 2006年7月06日(木) 09:43
by koko!yo
> > GetForegroundWindow関数でできないでしょうか?
> >

コード: 全て選択

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

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