GetWindowLong函数介绍

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
函数原型:
LONG GetWindowLong( HWND hWnd,int nIndex)
参数:
hWnd:指定窗口的句柄
nIndex:需要获得的信息的类型值功能
nIndex取值如下:
GWL_EXSTYLE 得到扩展的窗口风格
GWL_STYLE 得到窗口风格
GWL_WNDPROC 得到窗口回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用
GWL_HINSTANCE 得到应用程序运行实例的句柄
GWL_HWNDPARENT 得到父窗口的句柄
GWL_ID 得到窗口的标识符
GWL_USERDATA 得到和窗口相关联的32位的值(每一个窗口都有一个有意留给创建窗口的应用程序是用的32位的值)
当hWnd标识一个对话框时可以使用下面的值
Value Action
DWL_DLGPROC 得到对话框回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用
DWL_MSGRESULT 得到对话框回调函数中消息处理过程的返回值
DWL_USER 得到额外的应用程序私有信息,如一些句柄和指针等
返回值:
成功时,返回一个请求的32位的值
失败时,返回0,可以使用GetLastError来取得错误信息
注意:
#define GWL_WNDPROC (-4)
#define GWL_HINSTANCE (-6)
#define GWL_HWNDPARENT (-8)
#define GWL_STYLE (-16)
#define GWL_EXSTYLE (-20)
#define GWL_USERDATA (-21)
#define GWL_ID (-12)
#define DWL_MSGRESULT 0
#define DWL_DLGPROC 4
#define DWL_USER 8


示例1:
long nStyle = ::GetWindowLong(hWnd, GWL_STYLE);// hWnd是一个编辑框的句柄
if(nStyle & ES_PASSWORD)
{
AfxMessageBox("这是一个密码域");
}
Win32 GetWindowLong函数实例Demo 获取和输出代码; hdc=GetDC(hwnd); ret=GetWindowLong(hwnd,GWL_STYLE); wsprintf(szBuffer, "窗口样式:%d",ret); TextOut(hdc,100,50,szBuffer,lstrlen(szBuffer)); ret=GetWindowLong(hwnd,GWL_EXSTYLE); wsprintf(szBuffer, "扩展窗口样式:%d",ret).. 阅读详情

相关推荐

GetWindowLong的测试程序

GetWindowLong的测试程序 详解GetWindowLong的用法

GetWindowLong函数(最好的解释资料,绝对值得一看,此函数在子类化技巧时候经常用到)

今天在看一个代码里头写了GetWindowLong (hwnd, 0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第2个参数为0是指什么,MD,很恼火,最近终于在一个国外网站找到,我在这篇文章贴了,网站是http://www.codeguru.com/forum/archive/index.php/t-243778.html先收集所有关于此函数的使用方法以及程序代码

WINC开发的专栏 5万+

GetWindowLong说明及应用

“窗口类的封装,从全局窗口消息处理到窗口对象消息处理的映射方法:  对界面进行封装,一般都是一个窗口一个类,比如实现一个最基本的窗口类CMyWnd,你一定会把窗口过程作为这个类的成员函数,但是使用WINAPI创建窗口时必须注册类WNDCLASS,里面有个成员数据lpfnWndProc需要WNDPROC的函数指针,一般想法就是把窗口类的消息处理函数指针传过去,但是类成员函数除非是静态的,否则

cigogo的专栏 5910

windows窗口API函数GetWindowLong\SetWindowLong\SetParent\GetClientRect\SetWindowPos

LONG GetWindowLong( HWND hWnd,int nIndex ) 参数: hWnd:指定窗口的句柄 nIndex:需要获得的信息的类型 值 功能 nIndex取值如下: GWL_EXSTYLE 得到扩展的窗口风格 GWL_STYLE 得到窗口风格 GWL_WNDPROC 得到窗口回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用 GWL_HINSTANCE 得到应用程序运行实例的句柄 GWL_HWND...

weixin_45682858的博客 2180

setwindowlong

      函数功能:该函数改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。    函数原型:LONG SetWindowLong(HWND hWnd,int nlndex,LONG dwNewLong);    参数:    hWnd:窗口句柄及间接给出的窗口所属的类。    nlndex:指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的

504

Windows控件消息函数 - GetWindowLong

VB声明Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long说明从指定窗口的结构中取得信息返回值Long,由nIndex决定。零表示出错。会设置G

水木清华 1146

GetWindowLong函数

函数功能描述:用这个函数能够获得指定窗口的信息函数原型:LONG GetWindowLong( HWND hWnd,int nIndex )参数:hWnd:指定窗口的句柄nIndex:需要获得的信息的类型     值            功能nIndex取值如下:GWL_EXSTYLE    得到扩展的窗口风格GWL_STYLE      得到窗口风格GWL_WNDPROC    得

1016

GetWindowLong

函数功能:该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。 函数原型:LONG GetWindowLong(HWND hWnd,int nlndex); 参数: hWnd:窗口句柄及间接给出的窗口所属的窗口类。 nlndex:指定要获得值的大于等于0的值的偏移量。有效值的范围从0到额外窗口内存空间的字节数一4例如,若...

dkopg24406的专栏 757

GetWindowLong(), DialogBox()函数

GetWindowLong()    函数功能:该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。    函数原型:LONG GetWindowLong(HWND hWnd,int nlndex);    参数:    hWnd:窗口句柄及间接给出的窗口所属的窗口类。    nlndex:指定要获得值的大于等于0的值的偏移量。有效值的范围从0到额外

Norah的学习天地 543

getwindowlong

      函数功能:该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。    函数原型:LONG GetWindowLong(HWND hWnd,int nlndex);    参数:    hWnd:窗口句柄及间接给出的窗口所属的窗口类。    nlndex:指定要获得值的大于等于0的值的偏移量。有效值的范围从0到额外窗口内存空间的字节数一4例如,若指定了

400

GetWindowLong函数详解

函数功能描述:用这个函数能够获得指定窗口的信息函数原型:LONG GetWindowLong( HWND hWnd,int nIndex )参数:hWnd:指定窗口的句柄nIndex:需要获得的信息的类型     值            功能nIndex取值如下:GWL_EXSTYLE    得到扩展的窗口风格GWL_STYLE      得到窗口风格GWL_WNDPROC    得

~~程序是门艺术,而我却在艺术之门之外~~ IT草根专栏 3351

GetWindowLong API作用

GetWindowLong 函数检索有关指定窗口的信息。 该函数还将指定偏移量处的 32 位(长)值检索到额外的窗口内存中。 LONG GetWindowLong( HWND hWnd, // 窗口句柄 int nIndex // 填特定的参数以获取改句柄的不同信息; 下面是第二个参数可以填的一些特定值 Value Action GWL_EXSTYLE Retrieves the extended window styles. For more information, s

u013677637的博客 570
上一篇: CallWindowProc与setwindowlong用法
下一篇: VC++基础 使用全局变量控制线程运行
drmcty
博客等级 码龄16年 5粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值