GetWindowLong

GetWindowLong

GetWindowLong是一個Windows API。該函數可獲取指定窗口的有關信息,也可用於獲取窗口內存中指定偏移的32位度整型值。

原型


64位版本參見GetWindowLongPtr。

參數


hWnd

目標窗口句柄,間接指向其窗口類。

nlndex

若指定值大於0,返回窗口內存中指定偏移量的32位值。
也可指定以下值來獲得其它數據:
宏定義常量描述
GWL_EXSTYLE-20獲取擴展窗口樣式
GWL_HINSTANCE-6獲取應用實例句柄
GWL_HWNDPARENT-8獲取所有者窗口句柄
GWL_ID-12獲取窗口ID
GWL_STYLE-16獲得窗口樣式
GWL_USERDATA-21獲取用戶設置的32位數據,其值默認為0
GWL_WNDPROC-4獲取窗口過程地址或句柄。必須使用CallWindowProc函數調用獲取的窗口過程。
hWnd參數為對話框句柄時,還可用下列值:
宏定義常量描述
DWL_DLGPROC4獲取對話框過程地址或句柄。必須使用CallWindowProc函數來調用對話框過程。
DWL_MSGRESULT獲取在對話框過程中某消息的返回值。
DWL_USER8獲取應用程序專用的額外信息,例如一個句柄或指針。

返回值


如果函數成功,返回值是所需的32位整型值;
如果函數失敗,返回值是0。獲得更多錯誤信息請調用 GetLastError

備註


通過在使用RegisterClassEx函數前將WNDCLASSEX結構中的cbWndExtra成員指定一個非0值來分配窗口內存。

要求


函數位置user32.dll
頭文件在Winuser.h中聲明,包含於Windows.h。
庫文件User32.lib
操作系統最低版本Windows 2000 Professional
ANSI/UnicodeGetWindowLongA/GetWindowLongW