Window API函式,可根據nlndex引數的不同獲取指定視窗的相關資訊,
也可用于獲取視窗記憶體中指定偏移的32位度整型值,該值大小在注冊視窗類時設定,
函式原型:
Long GetWindowLong(HWND hWnd, int nlndex);
第一個引數:HWND 需要操作的視窗句柄,
第二個引數:nlndex
1.若大于0,回傳視窗記憶體中指定偏移量的32位值
有效范圍為0到存盤空間的位元組數減4,
比如指定了12個位元組的額外視窗存盤空間,則應設定8來訪問第三個4位元組,設定4來訪問第二個4位元組
設定0來訪問第一個4位元組空間,
2.也可以設定以下資料: 描述發的
#define GWL_WNDPROC (-4) //獲取視窗程序地址或句柄,必須使用CallWindowProc函式呼叫獲取的視窗程序, #define GWL_HINSTANCE (-6) //獲取應用實體句柄 #define GWL_HWNDPARENT (-8) //獲取所有者視窗句柄 #define GWL_STYLE (-16) //獲得視窗樣式 #define GWL_EXSTYLE (-20) //獲取擴展視窗樣式 #define GWL_USERDATA (-21) //獲取用戶設定的32位資料,其值默認為0 #define GWL_ID (-12) //獲取視窗ID hWnd引數為對話框句柄時,還可用下列值: #define DWL_MSGRESULT 0 //獲取在對話框程序中某訊息的回傳值, #define DWL_DLGPROC 4 //獲取對話框程序地址或句柄,必須使用CallWindowProc函式來呼叫對話框程序, #define DWL_USER 8 //獲取應用程式專用的額外資訊,例如一個句柄或指標,
回傳值:
如果函式成功,回傳值是指定的32位整數的原來的值,如果函式失敗,回傳值為0,
但是,如果指定的32位整數值為0 函式成功將回傳0,
補充:
視窗的額外存盤空間有注冊視窗類時通過設定以下引數指定;
wndclass.cbWndExtra = sizeof(long); 該段代碼為使用該視窗類注冊的串口預留了 一個長整形變數大小的額外空間,
同時可以通過 SetWindowLong() 函式來改變該值
SetWindowLong(hwnd,0,1) //設定第一個4位元組的值
SetWindowLong(hwnd,4,2) //設定第二個4位元組的值
SetWindowLong(hwnd,8,3) //設定第三個4位元組的值
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/210191.html
標籤:C
上一篇:MSG結構
下一篇:集合運算
