C++ 鼠标点击的获取

2023-10-28

C++鼠标点击

首先一个比较常用的宏定义如下:

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 

使用KEY_DOWN(鼠标事件),可以方便获取很多鼠标的事件。

鼠标各个按键的点击

如果获取左键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_MOVED)
如果获取滚轮的点击,可以使用如下的代码:KEY_DOWN(MOUSE_WHEELED)
如果获取右键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_EVENT)

以上的值均返回true或false。

示例程序

#include<stdlib.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 

using namespace std;
int main(){
	int n=0;
	for(;;){
		if(KEY_DOWN(MOUSE_MOVED)){
			system("color 97");
		}
		else if(KEY_DOWN(MOUSE_EVENT)){
			system("color A7");
		}
		else if(KEY_DOWN(MOUSE_WHEELED)){
			system("color 17");
		}
		else{
			system("color 07");
		}
		

	}
	return 0;
}

我们尝试编译并运行如上的程序。
一开始打开时,运行结果如下:

当按下左键时,通过system的命令,把控制台变为蓝色。

按下右键时的效果:

按下滚轮键的效果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 鼠标点击的获取 的相关文章

  • 在 Vulkan 中,图形队列系列与当前队列系列分离是否有益?

    据我所知 队列系列可能支持呈现到屏幕但不支持图形 假设我有一个同时支持图形和呈现的队列系列 以及另一个仅支持呈现的队列系列 我应该为两个进程使用第一个队列系列 还是应该将第一个队列系列委托给图形 将后者委托给呈现 或者这两种方法之间没有明显
  • VLC 媒体播放器有 C# 界面吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用 C 控制台应用程序中的包装器从 VLC 播放中当前播放的文件中读取曲目统计信息 时间 标
  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配

随机推荐

  • codemirror 部分配置信息 中文解释

    介绍 CodeMirror是一款在线的支持语法高亮的代码编辑器 官网 http codemirror net 下载后 解压开到的文件夹中 lib下是放的是核心库和核心css 模式下放的是各种支持语言的语法定义 主题目录下是支持的主题样式 一
  • r语言练习题3

    r语言练习题3 选择题练习 1 创建R 的数据框的函数 2 R中和 或非分别表示为 3 round 3 475 digits 2 返回值为 4 用R语言绘制直方图的命令 4 1用R语言绘制柱形图的命令 4 2用R语言绘制饼图的命令 5 R中
  • 如何写好技术方案

    一 前言 作为一个技术开发者 特别是高级 资深开发 架构师等 往往会遇到根据需求撰写技术方案 那么如何撰写一篇好的技术方案设计 我们今天就来聊一聊这个话题 二 技术方案是否有必要 答案是肯定的 我见过太多由于前期规划不到位 甚至是没有技术方
  • WebGL解决中文字体过大的问题

    最近公司项目要转成Webgl格式 打包测试后发现会把字体文件一同打包进去 导致打包文件很大 打包了一个空场景 使用的字体是Window自带的微软雅黑 字体占用空间很大 后来发现Unity有一个自带的TextMesh Pro 也可以进行文字输
  • 在已安装windows11环境中利用EasyBCD引导安装Ubuntu22.04(无需U盘)

    一 下载 1 下载Ubuntu 放到C盘 官网下载https ubuntu com download desktop 2 下载EasyBCD 链接 https pan baidu com s 1 KDr6kmVKH2u43W6XKYURg
  • 随笔篇----比特的传输

    琐碎的知识又增加了 这是我觉的比较有意思的科普 解开了一些生活中的小疑问 例如 电话 网页 电视 这些信号怎么传递的 人们怎么就成了千里眼 顺风耳 本文目的为 简单科普我们生活周围的信息是如何传递 如果学过通信的朋友可以略过啦哈 关键词 A
  • 软件测试阶段的风险

    1 需求风险 2 测试用例风险 3 缺陷风险 4 代码质量风险 5 测试环境风险 6 测试技术风险 7 回归测试风险 8 沟通协调风险 9 其他不可预计的风险 软件测试常见的风险 主要有以下几点 1 需求风险 对软件需求理解不够准确 导致测
  • pyinstaller打包执行文件报错NameError: name ‘defaultParams‘ is not defined问题解决方案

    老猿Python博文目录 https blog csdn net LaoYuanPython 一 问题 最近在执行以前打包的一个PyQT程序时报错 错误信息如下 F coffeDog videoToGif dist video2Gif gt
  • 本地资源加载不了 file:// net::ERR_UNKNOWN_URL_SCHEME

    本地资源加载不了 file net ERR UNKNOWN URL SCHEME 解决 开发环境使用tsFile 生产环境使用file
  • 用git创建空白分支

    用git创建空白分支 许多时候 需要添加的分支的代码与原来的代码没有一点关系 若是我们创建分支的话 则会继承master原来的东西 此时可以创建一个空白的分支 git checkout orphan test 这个时候会有许多无关文件存在
  • arp攻击实验(一)用一条指令让对方瞬间无法上网

    前言 本实验主要是利用局域网主机在进行2 3层通信时 协议上的漏洞 利用ARP欺骗 造成局域网内主机通信的失败 本文摘自 泰泰博客 www taitaiblog com 更多相关资源可访问该网站 实现原理 其主要原理是局域网内的 攻击机 通
  • centos 7 中的对文件的基本操作

    在文件夹中创造文件 touch 未创建前 在当前文件夹创建后并查看 创造文件夹 mkdir 未创建前 创建之后并查看 如果需要一次创造多个文件夹时 需要用到参数 p 递归创建文件夹 并用命令tree查看文件的结构 文件的复制 cp 复制te
  • [转]OpenSynergy的COQOS Hypervisor SDK-实现仪表和车载信息娱乐系统共享显示

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com OpenSyn
  • python3[爬虫实战] 使用selenium,xpath爬取京东手机(上)

    当然了 这个任务也是从QQ群里面接过来的 主要是想提升自己的技术 一接过来是很开心的 但是 接完之后 写了又写 昨晚写了3小时 前提晚上写了2小时 搞的有些晚了 搞来搞去就卡在一个地方了 希望懂的大神们多帮忙指点一下 使用selenium
  • chatgpt赋能python:Python重写父类方法:在OOP编程中的应用

    Python重写父类方法 在OOP编程中的应用 在Python的面向对象编程范式中 继承是一种非常重要的概念 当我们声明一个类时 我们可以通过继承来扩展类的功能并避免重复编写代码 在这个过程中 很可能你会碰到需要重写父类方法的情况 本篇文章
  • java输出1-100之间不能被5整除的数,每五个一行

    public class HomeWork06 public static void main String args int count 0 for int i 1 i lt 100 i if i 5 0 System out print
  • 剑指 Offer II 033. 变位词组&剑指 Offer II 035. 最小时间差 -做题总结和心得(剑指offer进阶-哈希表部分)

    剑指 Offer II 033 变位词组 该题解法是hash sort 答案是评论区大佬写的 大体思路 创建一个哈希表 再将每个字符串变成字符数组 排序后若哈希表里不存在排序后的字符串 则创建索引 然后将原字符串放进对应索引的数组里 cla
  • cartographer 代码思想解读(7)-位姿估计器PoseExtrapolator实现

    cartographer 代码思想解读 7 位姿估计器PoseExtrapolator实现 pose extrapolator类定义 插入IMU数据 AddImuData 插入里程计数据 AddOdometryData UpdateVelo
  • Plotly可视化:TypeError: box() got an unexpected keyword argument ‘box_color‘

    一 问题描述 我用Plotly库进行可视化 import plotly express as px category orders month stage month end month middle month start fig px
  • C++ 鼠标点击的获取

    C 鼠标点击 首先一个比较常用的宏定义如下 define KEY DOWN VK NONAME GetAsyncKeyState VK NONAME 0x8000 1 0 使用KEY DOWN 鼠标事件 可以方便获取很多鼠标的事件 鼠标各个