我有一个基于WSAWaitForMultipleEvents
的循环,(除了其他东西),触发键盘和鼠标事件。首先设置:
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), ENABLE_EXTENDED_FLAGS | ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT);
然后使用:
GetStdHandle(STD_INPUT_HANDLE);
作为添加到WSAWaitForMultipleEvents
的事件。
现在这个功能运行良好,但我只对点击鼠标时的鼠标位置感兴趣,但自然它也会触发鼠标移动,有没有办法从事件中排除鼠标移动,使WSAWaitForMultipleEvents
只在点击鼠标时唤醒,而忽略鼠标移动?
1条答案
按热度按时间ntjbwcob1#
是否有办法从事件中排除鼠标移动,使
WSAWaitForMultipleEvents
仅在单击鼠标时唤醒,并忽略鼠标移动?不需要。使用
ENABLE_MOUSE_INPUT
意味着控制台句柄满足了窗口聚焦时对控制台窗口中 * 任何 * 鼠标活动的等待。这包括鼠标移动和鼠标点击。documentation甚至也这么说。因此,您只需接收和丢弃您不感兴趣的控制台事件。