GetWindowLongA 函式 (winuser.h)
擷取指定視窗的相關信息。 函式也會擷取位於指定位移的 32 位 (DWORD) 值到額外的視窗記憶體中。
注意 如果您要擷取指標或句柄,GetWindowLongPtr 函式已取代此函式。 (指標和控點在32位 Windows 上為32位,在64位 Windows 上為64位。若要撰寫與 32 位和 64 位版本的 Windows 相容的程式代碼,請使用 GetWindowLongPtr。
語法
LONG GetWindowLongA(
[in] HWND hWnd,
[in] int nIndex
);
參數
[in] hWnd
類型:HWND
視窗的句柄,而且間接地是窗口所屬的類別。
[in] nIndex
類型:int
要擷取之值的以零起始位移。 有效值為零到額外視窗記憶體的位元元組數目,減去4個;例如,如果您指定了12個以上的額外記憶體位元組,則值為8會是第三個32位整數的索引。 若要擷取任何其他值,請指定下列其中一個值。
價值 | 意義 |
---|---|
|
擷取 |
|
擷取應用程式實例的句柄。 |
|
擷取父視窗的句柄,如果有的話。 |
|
擷取視窗的標識碼。 |
|
擷取 |
|
擷取與視窗相關聯的用戶數據。 此資料供建立視窗的應用程式使用。 其值一開始為零。 |
|
擷取視窗程序的位址,或代表視窗程式位址的句柄。 您必須使用 CallWindowProc 函式來呼叫視窗程式。 |
當 hWnd 參數識別對話框時,也可以使用下列值。
價值 | 意義 |
---|---|
|
擷取對話框程式的位址,或代表對話框程式位址的句柄。 您必須使用 CallWindowProc 函式來呼叫對話框程式。 |
|
擷取對話框程序中處理之訊息的傳回值。 |
|
擷取應用程式的額外資訊,例如句柄或指標。 |
傳回值
類型:LONG
如果函式成功,傳回值就是要求的值。
如果函式失敗,傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
如果先前尚未呼叫 SetWindowLong,GetWindowLong 會針對額外視窗或類別記憶體中的值傳回零。
言論
在搭配
例子
如需範例,請參閱 建立、列舉和重設大小子 Windows。
注意
winuser.h 標頭會將 GetWindowLong 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 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 中引進) |
另請參閱
概念
參考