当前位置: 首页 > news >正文

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

);

相关文章:

  • WNDCLASSEX
  • C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)
  • C++ 虚函数表 vfptr
  • WM_NCHITTEST
  • CreateProcess函数详解
  • CEF类笔记-cef_app
  • cef_client.h
  • cef_browser.h
  • C++ List的用法(整理)
  • cef_v8.h
  • SendMessage 用法详解及消息详解
  • TCP协议下的recv函数
  • CEF网址打不开,提示Check failed: fallback_available == base::win::GetVersion() > base::win::VERSION_WIN8
  • Mt.exe
  • 你所不知道的C和C++运行库
  • 深入了解以太坊
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • AWS实战 - 利用IAM对S3做访问控制
  • input实现文字超出省略号功能
  • js算法-归并排序(merge_sort)
  • JS学习笔记——闭包
  • Mysql数据库的条件查询语句
  • Nacos系列:Nacos的Java SDK使用
  • Python爬虫--- 1.3 BS4库的解析器
  • Redux 中间件分析
  • VUE es6技巧写法(持续更新中~~~)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 工作中总结前端开发流程--vue项目
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 跨域
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 小程序01:wepy框架整合iview webapp UI
  • 一份游戏开发学习路线
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (4)logging(日志模块)
  • (C语言)逆序输出字符串
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Note)C++中的继承方式
  • (篇九)MySQL常用内置函数
  • (转) 深度模型优化性能 调参
  • .“空心村”成因分析及解决对策122344
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET简谈设计模式之(单件模式)
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @AutoConfigurationPackage的使用