<Return[I]><Top>

IsWindowUnicode

Declare Function Api_IsWindowUnicode& Lib "user32" Alias "IsWindowUnicode" (ByVal hWnd&)

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

指定されたウィンドウが Unicode のネイティブウィンドウであるかどうかを調べる。

パラメータ
hWnd
    調査するウィンドウのハンドルを指定する。

戻り値
    指定したウィンドウが Unicode のネイティブウィンドウだった場合は、0 以外の値が返る。
    指定したウィンドウが Unicode のネイティブウィンドウでなかった場合は、0 が返る。

    この場合、ウィンドウはネイティブの ANSI のネイティブウィンドウである。

解説
    ウィンドウの文字セットは、RegisterClass 関数の呼び出しにより決まる。

    ANSI 版の RegisterClass 関数(RegisterClassA)を使って登録したウィンドウクラスの文字セットは ANSI である。

    Unicode 版の RegisterClass 関数(RegisterClassW)を使って登録したウィンドウクラスの文字セットは Unicode である。
    ウィンドウメッセージは、システムにより Unicode と ANSI の間で双方向に自動変換される。

    たとえば、ANSI ウィンドウメッセージが Unicode 文字セットを使うウィンドウに送られると、システムは、そのメッセージを Unicode メッセージ

    に変換してからウィンドウプロシージャを呼び出す。

    システムがメッセージを変換するかどうかを決定する際には、IsWindowUnicode 関数が使用される。