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 @ 2021-10-20 16:52  计算机知识杂谈  阅读(4090)  评论(3编辑  收藏  举报