複製鏈接
請複製以下鏈接發送給好友

GetWindowLongPtr

鎖定
GetWindowLongPtr函數是在指定的窗口中獲取信息。也可以在指定window內存偏移量的情況下獲取值。
外文名
GetWindowLongPtr
參    數
nIndex、hWnd
作    用
代替GetWindowLong獲取指示器
詞條標籤
Windows API函數

目錄

GetWindowLongPtr作用

GetWindowLongPtr可以拿這個函數來代替GetWindowLong函數來獲取一個指示器或者句柄(注:指示器和句柄是32位或64位微軟windows所特有的概念)。要寫一個兼容32位或64位windows版本的代碼,就要使用這個函數。

GetWindowLongPtr語法

LONG_PTR GetWindowLongPtr(
HWND hWnd,
int nIndex
);

GetWindowLongPtr參數

hWnd
欲獲取信息的窗口(或屬於窗口的類)的句柄。
nIndex
為欲獲取的信息指定值。可以是以下其中之一。
GWL_EXSTYLE
獲取擴展窗口樣式。更多信息,查閲CreateWindowEx.
GWL_STYLE
獲取窗口樣式(window styles)
GWLP_WNDPROC
獲取窗口程序指示器,或描述指示器的句柄 。如果使用此參數,必須使用CallWindowProc回調函數
GWLP_HINSTANCE
獲取一個應用程序實例的句柄 。
GWLP_HWNDPARENT
如果只有一個父窗口,獲取父窗口的句柄 。
GWLP_ID
獲取窗口標識符。
GWLP_USERDATA
獲取窗口關聯的數據,是應用程序創建窗口時留給用户的數據。初始值是0。
DWLP_DLGPROC
獲取一個對話框的指示器,或描述指示器的句柄 。如果使用此參數,必須使用CallWindowProc回調函數。 DWLP_MSGRESULT 獲取一個對話框中的被處理的信息的值。
DWLP_USER 作為指示器或句柄來獲取私有應用程序的額外的信息。

GetWindowLongPtr返回值

如果函數執行成功,將返回讀取的值。
如果執行失敗,將返回零,要獲取更多擴展信息,請調用GetLastError.
如果SetWindowLong or SetWindowLongPtr沒有被事先調用,就在擴展窗口或類內存中調用GetWindowLongPtr函數,將返回零
詳情你也可以查看MSDN
使用庫:User32.DLL
例如:
[DllImport("user32.dll", EntryPoint="GetWindowLongPtr")]
public static extern IntPtr GetWindowLongPtr(
InPtr hwnd,
int nIndex
);