GetWindowLongA 関数 (winuser.h)
指定したウィンドウに関する情報を取得します。 また、この関数は、指定されたオフセットにある 32 ビット (DWORD) 値を追加のウィンドウ メモリに取得します。
構文
LONG GetWindowLongA(
[in] HWND hWnd,
[in] int nIndex
);
パラメーター
[in] hWnd
型: HWND
ウィンドウへのハンドルと、ウィンドウが属するクラスを間接的に指定します。
[in] nIndex
型: int
取得する値への 0 から始まるオフセット。 有効な値は、余分なウィンドウ メモリのバイト数から 4 を引いた範囲の 0 です。たとえば、12 バイト以上の余分なメモリを指定した場合、値 8 は 3 番目の 32 ビット整数のインデックスになります。 その他の値を取得するには、次のいずれかの値を指定します。
価値 | 意味 |
---|---|
|
|
|
アプリケーション インスタンスへのハンドルを取得します。 |
|
親ウィンドウへのハンドル (存在する場合) を取得します。 |
|
ウィンドウの識別子を取得します。 |
|
|
|
ウィンドウに関連付けられているユーザー データを取得します。 このデータは、ウィンドウを作成したアプリケーションで使用するためのものです。 その値は、最初は 0 です。 |
|
ウィンドウ プロシージャのアドレス、またはウィンドウ プロシージャのアドレスを表すハンドルを取得します。 ウィンドウ プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。 |
次の値は、hWnd パラメーターがダイアログ ボックスを識別する場合にも使用できます。
価値 | 意味 |
---|---|
|
ダイアログ ボックス プロシージャのアドレス、またはダイアログ ボックス プロシージャのアドレスを表すハンドルを取得します。 ダイアログ ボックス プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。 |
|
ダイアログ ボックス プロシージャで処理されたメッセージの戻り値を取得します。 |
|
ハンドルやポインターなど、アプリケーションに対してプライベートな追加情報を取得します。 |
戻り値
型: 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 の