C控制台台处理鼠标消息
在网上搜索到一个处理控制台下鼠标消息的代码,
按照说明,应该是鼠标点击左键后就能做对应的处理,
可是我发现程序起来之后只看到一次鼠标坐标消息,
为了排查,我加了一个打印消息的语句,发现:
第一次打印了鼠标消息0x00000002后就没有了
其他消息如:菜单0x00000008 焦点0x00000020 按键0x00000001
都能正常获取到。
求大家伙帮帮忙,看看什么原因
代码如下
C 控制台 鼠标消息处理
for (;;)
{
ReadConsoleInput(hin, &mouseRec, 1, &res);
if (mouseRec.EventType == MOUSE_EVENT)
{
if (mouseRec.Event.MouseEvent.dwEventFlags == DOUBLE_CLICK)
{
break;
}
pos = mouseRec.Event.MouseEvent.dwMousePosition;
DisplayMousePos(hout, pos);
if (mouseRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED)
{
FillConsoleOutputCharacter(hout, 'a', 1, pos, &num_written);
}
}
printf("0x%08x\n", mouseRec.EventType);
}