窗口句柄浅析

简介:
句柄(HANDLE)是Windows程序中一个重要的概念,使用也非常频繁。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。
窗口句柄是windows句柄的一种,且是重要的一种句柄。在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的。我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。
窗口句柄的概念比较抽象,简单说窗口句柄就是一个窗口(window)的代表。我们通过几个例子来认识它。
1.LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
windows窗口处理函数,windows消息机制说的是,每当某个窗口发生变化(比如改变大小,移动),windows系统都会发相应的消息(wm_size,wm_move)给这个窗口。即调用函数 SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);注意这里WndProc和SendMessage的第一个参数都是HWND,窗口句柄代表这个窗口。
2. hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
这里说的是窗口句柄的产生,可以把hWnd想象成指针,CreateWindow想象成c++里的new,创建一个window,系统要为这个window对象分配一些资源,可以想象,window是由一个大的结构构成的。同时窗口句柄用来标识这个窗口。
3.有个窗口的句柄,则你就可以操控这个窗口的一切。
大量管理window的win32 api都是以hwnd做为参数。下面列举一些:
BringWindowToTop
FindWindowEx
GetParent
SetWindowPos
GetWindowRect
等等。
4.不仅窗口,窗口上的控件,象按钮,编辑框等也有窗口句柄,因为它们也是一种特殊的窗口,上面操作窗口的api大部分对这些控件窗口也适用。









本文转自 xchsp 51CTO博客,原文链接:http://blog.51cto.com/freebird/97607,如需转载请自行联系原作者

目录
相关文章
|
存储 Kubernetes 算法
开源免费的对象存储Minio
Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。
2826 0
|
机器学习/深度学习 监控 算法
信用风险评估评分卡建模方法及原理| 学习笔记
快速学习信用风险评估评分卡建模方法及原理。
信用风险评估评分卡建模方法及原理| 学习笔记
|
9月前
|
NoSQL 前端开发 Java
宝塔面板部署Java项目全指南:JDK+Nginx+MySQL+Redis一站式配置
使用宝塔面板部署Java项目确实能省去不少配置环境的时间。下面整理了一份详细的部署步骤,并汇总了关键信息以方便实践。
1654 0
|
5月前
|
人工智能 自然语言处理 JavaScript
【含新版安装包】无需命令行 OpenClaw 一键部署操作教程
OpenClaw v2.6.0 是专为 Windows 设计的 AI 聊天网关一键部署工具(虾壳云),全程可视化操作,无需命令行或手动配置环境。内置 Python/Node.js/Git 等全部依赖,5 分钟快速安装,支持键鼠模拟与自动化办公。新手友好,仅需关闭杀软、选纯英文路径即可轻松上手。(239字)
|
PHP
WordPress微信公众号同步助手插件
该内容介绍了网站与微信公众号之间的文章同步功能,支持自动和手动两种方式。功能包括设置作者、封面、评论等,可将多篇文章合并同步或批量操作。特别提示:需确保微信公众号已认证以使用群发接口,且注意接口限制和资源文件格式要求。同时说明了从公众号同步至网站的限制及注意事项,如无法同步已群发文章等。更新记录显示新增了封面图片获取顺序设置。
1842 0
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
1273 19
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
算法 安全 Java
Hutool-crypto 加密、解密详解!
Hutool-crypto 加密、解密详解!
1690 0
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
905 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计

热门文章

最新文章