C++ 鼠标点击的获取

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的命令,把控制台变为蓝色。

按下右键时的效果:

按下滚轮键的效果:

本文仅在博客园发布,认准原文地址:https://www.cnblogs.com/jisuanjizhishizatan/p/15429591.html

posted @   计算机知识杂谈  阅读(4126)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示