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