自制一个水果超市的经营系统
然后我负责的部分需要用鼠标进行选择操作
把同学的鼠标函数复制过来后发现在我这不能正常运行
COORD MouseRead() {
//定义句柄变量
HANDLE hIn;
//定义输入事件结构体
INPUT_RECORD mouseRecord;
//用于存储读取记录
DWORD res;
// 存储鼠标当前位置
COORD pos;
//获取标准输入句柄
hIn = GetStdHandle(STD_INPUT_HANDLE);
while (1) {
//读取输入事件
ReadConsoleInput(hIn, &mouseRecord, 1, &res);//这个函数不能正常执行
//判断是否为左键单击事件
if (mouseRecord.EventType == MOUSE_EVENT) {
if (mouseRecord.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) {
//获取鼠标当前位置
pos = mouseRecord.Event.MouseEvent.dwMousePosition;
return pos;
}
}
}
CloseHandle(hIn);
}
经过测试是在加注释”这个函数不能正常运行“的地方有问题
在我的电脑上运行时ReadConsoleInput函数不是读取所有鼠标操作,只读取按下鼠标右键及其后的点击,有的时候还会读取键盘操作,这样这个函数才终止并运行后续代码,其他时候后面的代码压根不执行
我同学他们的电脑上,ReadConsoleInput函数读取包括鼠标移动在内的所有鼠标操作
我用的编译器是Visual Studio 2019,我同学是DEVC++和CodeBlocks。
有大佬知道这是个什么情况吗