GetWindowLongPtr

作用

GetWindowLongPtr可以拿这个函数来代替GetWindowLong函数来获取一个指示器或者句柄(注:指示器和句柄是32位或64位微软windows所特有的概念)。要写一个兼容32位或64位windows版本的代码,就要使用这个函数。

语法

LONG_PTR GetWindowLongPtr(HWND hWnd, int nIndex);

参数

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 作为指示器或句柄来获取私有应用程序的额外的信息

返回值

如果函数执行成功,将返回读取的值。

如果执行失败,将返回零,要获取更多扩展信息,请调用GetLastError.

如果SetWindowLong or SetWindowLongPtr没有被事先调用,就在扩展窗口或类内存中调用GetWindowLongPtr函数,将返回零

详情你也可以查看MSDN

使用库:User32.DLL

例如:

[DllImport("user32.dll", EntryPoint="GetWindowLongPtr")]

public static extern IntPtr GetWindowLongPtr(

InPtr hwnd,

int nIndex

);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值