OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4144|回复: 2

windows系统下的光标检测!

[复制链接]

1155

主题

1167

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4980
金钱
4980
注册时间
2019-5-8
在线时间
1259 小时
发表于 2021-9-22 09:50:18 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-11-1 10:33 编辑

以下文章摘自微信公众号——开源电子网《windows系统下的光标检测!》
更多技术文章,请扫下方二维码关注

开源电子网,扫码2222222.png




前言

环境:WIN7/10
推荐的IDE:visualstudio 2015
概述:本文讲述window系统下的一个光标检测方案
需要包含的头文件:#include <Windows.h>


一、自定义回调函数

1.png

二、创建&注销鼠标钩子

2.png

PS:到这一步位置,我们已经构建了一个简单的低级鼠标钩子(WH_MOUSE_LL),这里必须说明一下,低级鼠标钩子适用于简单的鼠标信息拦截,但是仅仅具有最低级的权限。

三、在回调函数中实现光标检测

目的:在之前编写的mouseProc()中添加一些代码来检测当前窗口是否存在光标以及光标的位置

步骤1:利用winapi的WindowFromPoint() 获取鼠标点击的窗口的句柄(HWND)
步骤2:利用GetWindowThreadProcessId()获取当前鼠标点击窗口进程id
步骤3:利用GetGUIThreadInfo()获取窗口的图形界面信息

3.png

四、结束语

这次,我们学习了简单的鼠标钩子使用、窗口进程id获取和窗口画面信息的获取,最终实现了windows系统下的光标检测功能,而这仅仅winapi中图形界面和系统信息接口的一小部分。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
591
金钱
591
注册时间
2020-8-17
在线时间
83 小时
发表于 2021-9-22 11:21:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2021-9-23 16:19:20 | 显示全部楼层
       赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 12:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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