惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - Evilbaniry

(转)浏览器的两种模式quirks mode 和strict mode Does a Nodelist contain circle? XML Dom所有的节点类型 ExtJS-2.2内存泄漏补丁 (转)VC中#pragma warning指令 #define总结 (网上资料汇集) 自已为Ext添加的DateTimeField控件(附源码) VC里一些容易混淆的地方(转) (转)消息分流器 (转)std::map的用法总结 GetModuleFileName()得到程序路径 利用GetDriveType来得到驱动器信息 makeintresource:VC MAKEINTRESOURCE 析疑 (转)c/c++的预处理定义 Stringizing Operator (#) Charizing Operator (#@) Token-Pasting Operator (##) va_start() va_end()函数应用 #ifdef __cplusplus 倒底是什么意思? - Evilbaniry (转)typedef用法小结 (转)STDAPI释义 判断windows系统类型
(转)GetWindowLongPtr释义
Evilbaniry · 2009-01-08 · via 博客园 - Evilbaniry

GetWindowLongPtr这个函数是在指定的窗口中获取信息。也可以在指定window内存偏移量的情况下获取值。

可以拿这个函数来代替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", EntryPoint="GetWindowLongPtr")]
public static extern IntPtr GetWindowLongPtr(
        InPtrt hwnd,
        int nIndex
);