找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 8951|回复: 3

【API】x64下使用GetWindowLong

[复制链接]
发表于 2015-2-16 12:55:27 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
很多人发现在x64下使用GetWindowLong的时候,使用GWL_WNDPROC、GWL_HINSTANCE、GWL_HWNDPARENT、GWL_USERDATA这四个参数会遇到“error C2065 未声明的标识符”的错误——它们是没有被定义的!
但是这并不表示你就无法取得目标窗口的Long。微软提供了另外一个函数:GetWindowLongPtr,它是GetWindowLong的替代品,同时兼容x86和x64的调用,上文所说的那四个参数也由GWL_开头变成了GWLP_开头。使用GetWindowLongPtr即可解决x64无法正常使用GetWindowLong的问题。
MSDN资料:
GWLP.png
回复

使用道具 举报

发表于 2015-2-16 15:00:21 | 显示全部楼层
GWL_WNDPROC我喜欢直接用-4替代。。。
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 2015-2-16 15:21:19 | 显示全部楼层
美俪女神 发表于 2015-2-16 15:00
GWL_WNDPROC我喜欢直接用-4替代。。。

这不好。。。让代码不好看了。
回复 赞! 靠!

使用道具 举报

发表于 2015-2-22 00:07:07 | 显示全部楼层
。。。易语言里常常用-4替代。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-24 08:17 , Processed in 0.036501 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表