次の方法で共有


GetWindowLongW 関数 (winuser.h)

指定したウィンドウに関する情報を取得します。 また、この関数は、指定されたオフセットにある 32 ビット (DWORD) 値を追加のウィンドウ メモリに取得します。

メモ ポインターまたはハンドルを取得する場合、この関数は、GetWindowLongPtr 関数に置き換えられます。 (ポインターとハンドルは、32 ビット Windows では 32 ビット、64 ビット Windows では 64 ビットです)。32 ビットバージョンと 64 ビット バージョンの両方の Windows と互換性のあるコードを記述するには、GetWindowLongPtrを使用します。

 

構文

LONG GetWindowLongW(
  [in] HWND hWnd,
  [in] int  nIndex
);

パラメーター

[in] hWnd

型: HWND

ウィンドウへのハンドルと、ウィンドウが属するクラスを間接的に指定します。

[in] nIndex

型: int

取得する値への 0 から始まるオフセット。 有効な値は、余分なウィンドウ メモリのバイト数から 4 を引いた範囲の 0 です。たとえば、12 バイト以上の余分なメモリを指定した場合、値 8 は 3 番目の 32 ビット整数のインデックスになります。 その他の値を取得するには、次のいずれかの値を指定します。

価値 意味
GWL_EXSTYLE
-20
の拡張ウィンドウ スタイルを取得します。
GWL_HINSTANCE
-6
アプリケーション インスタンスへのハンドルを取得します。
GWL_HWNDPARENT
-8
親ウィンドウへのハンドル (存在する場合) を取得します。
GWL_ID
-12
ウィンドウの識別子を取得します。
GWL_STYLE
-16
ウィンドウ スタイルを取得します。
GWL_USERDATA
-21
ウィンドウに関連付けられているユーザー データを取得します。 このデータは、ウィンドウを作成したアプリケーションで使用するためのものです。 その値は、最初は 0 です。
GWL_WNDPROC
-4
ウィンドウ プロシージャのアドレス、またはウィンドウ プロシージャのアドレスを表すハンドルを取得します。 ウィンドウ プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。
 

次の値は、hWnd パラメーターがダイアログ ボックスを識別する場合にも使用できます。

価値 意味
DWL_DLGPROC
DWLP_MSGRESULT + sizeof(LRESULT)
ダイアログ ボックス プロシージャのアドレス、またはダイアログ ボックス プロシージャのアドレスを表すハンドルを取得します。 ダイアログ ボックス プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。
DWL_MSGRESULT
0
ダイアログ ボックス プロシージャで処理されたメッセージの戻り値を取得します。
DWL_USER
DWLP_DLGPROC + sizeof(DLGPROC)
ハンドルやポインターなど、アプリケーションに対してプライベートな追加情報を取得します。

戻り値

型: long

関数が成功した場合、戻り値は要求された値です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

SetWindowLong が以前に呼び出されていない場合、GetWindowLong は、余分なウィンドウまたはクラス メモリ内の値に対して 0 を返します。

備考

RegisterClassEx 関数で使用される WNDCLASSEX 構造体の cbWndExtra メンバーに 0 以外の値を指定して、追加のウィンドウ メモリを予約します。

例については、「子 Windowsの作成、列挙、サイズ変更」を参照してください。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetWindowLong を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-windowclass-l1-1-0 (Windows 8 で導入)

関連項目

CallWindowProc の

概念

GetWindowLongPtr の

リファレンス

RegisterClassEx の

SetParent を する

SetWindowLong の

WNDCLASS の

ウィンドウ クラス