GetWindowLongPtrW 函式 (winuser.h)
擷取指定視窗的相關資訊。 函式也會擷取位於指定位移的值到額外的視窗記憶體中。
注意 若要撰寫與 32 位和 64 位版本的 Windows 相容的程式碼,請使用 GetWindowLongPtr。 編譯 32 位 Windows 時, GetWindowLongPtr 會定義為 GetWindowLong 函式的呼叫。
語法
LONG_PTR GetWindowLongPtrW(
[in] HWND hWnd,
[in] int nIndex
);
參數
[in] hWnd
類型: HWND
視窗的控制碼,並間接地是視窗所屬的類別。
[in] nIndex
類型: int
要擷取之值的以零起始位移。 有效值的範圍是零到額外視窗記憶體的位元組數目,減去 LONG_PTR的大小。 若要擷取任何其他值,請指定下列其中一個值。
值 | 意義 |
---|---|
|
擷取 擴充視窗樣式。 |
|
擷取應用程式實例的控制碼。 |
|
如果有的話,擷取父視窗的控制碼。 |
|
擷取視窗的識別碼。 |
|
擷取 視窗樣式。 |
|
擷取與視窗相關聯的使用者資料。 此資料供建立視窗的應用程式使用。 其值一開始為零。 |
|
擷取視窗程式的指標,或代表視窗程式指標的控制碼。 您必須使用 CallWindowProc 函式來呼叫視窗程式。 |
當 hWnd 參數識別對話方塊時,也可以使用下列值。
值 | 意義 |
---|---|
|
擷取對話方塊程式的指標,或代表對話方塊程式指標的控制碼。 您必須使用 CallWindowProc 函式來呼叫對話方塊程式。 |
|
擷取對話方塊程式中處理之訊息的傳回值。 |
|
擷取應用程式私用的額外資訊,例如控制碼或指標。 |
傳回值
類型: LONG_PTR
如果函式成功,則傳回值是要求的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
如果先前尚未呼叫SetWindowLong或SetWindowLongPtr,GetWindowLongPtr會針對額外視窗或類別記憶體中的值傳回零。
備註
在搭配 RegisterClassEx函式使用的WNDCLASSEX結構之 cbWndExtra成員中指定非零值,以保留額外的視窗記憶體。
注意
winuser.h 標頭會將 GetWindowLongPtr 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-windowclass-l1-1-0 (在 Windows 8) |
另請參閱
概念
參考