首先一个比较常用的宏定义如下:
#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