SetFocus フォーカスの設定

Cの宣言:

HWND SetFocus(HWND hWnd);

VBの宣言:

Declare Function SetFocus Lib "user32" (ByVal hWnd As Long) As Long

説明:

指定されたウィンドウをキーボードフォーカスを持つウィンドウにする。hWndが示すウィンドウは、この関数を呼び出したスレッドが持つウィンドウでなければならない。他のスレッドが持つウィンドウに対するSetFocusの呼び出しは、効果がない。

NT3.51などで、アイコン化されているウィンドウに対するSetFocusは失敗する。アイコン化されているウィンドウをアクティブウィンドウにする場合には、SetActiveWindow関数を使用する。(→宿題)

この関数を呼び出したスレッドが、プロセスの中で最も優先順位の高いスレッドではない場合、SetFocusでそのフォーカスを設定したとしても、そのスレッドが優先順位の最も高いスレッドになったときには、システムがフォーカスを変更してしまっているかもしれないので、注意が必要である。

(original text:1998/12/25 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。