<Return[G]><Top>

GetFocus

Declare Function Api_GetFocus& Lib "user32" Alias "GetFocus" ()

Declare Function GetFocus Lib "user32" () As Long

呼び出し側のスレッドに関連付けられているウィンドウの中から、キーボードフォーカスを持つウィンドウのハンドルを取得する。

パラメータ
    パラメータはなし。

戻り値
    関数が成功すると、呼び出し側のスレッドに関連付けられている、キーボードフォーカスを持つウィンドウのハンドルが返る。

    呼び出し側のスレッドのメッセージキューが、キーボードフォーカスを持つウィンドウを持たないときは、NULL が返る。

解説
    GetFocus は、現在のスレッドのメッセージキューに対応する、キーボードフォーカスを持つウィンドウを返す。

    GetFocus が NULL を返した場合、キーボードフォーカスを持つウィンドウに、他のスレッドのキューが関連付けられている。
    現在ユーザーが作業しているウィンドウのハンドルを取得するには、GetForegroundWindow 関数を使う。

    AttachThreadInput 関数を使うと、現在のスレッドのメッセージキューを、他のスレッドが保持しているウィンドウに関連付けることができる。
    Windows 98 および Windows NT 4.0 SP3 以降:フォアグラウンドキューまたは他のスレッドのキューのキーボードフォーカスを持つウィンドウ

    を取得するには、GetGUIThreadInfo 関数を使う。