Winapi VC++;鼠标事件

Winapi VC++;鼠标事件,winapi,visual-c++,mouseevent,Winapi,Visual C++,Mouseevent,我想为鼠标事件(仅鼠标滚动)编写一个控制台程序。如何在VC++中实现它?应用程序将仅侦听滚动事件 描述:如果用户向下滚动,桌面窗口将向下淡入,当用户向上滚动时,桌面窗口将淡入 在这里,我只需要知道如何在控制台应用程序中收听鼠标事件 注意:我使用win32 API进行开发,而对于开发环境,我使用的是VS2010。我自己从来没有这样做过。似乎控制台应用程序响应鼠标事件几乎掩盖了它的本质和预期用途。通常,您只需要响应控制台应用程序的键盘输入,并将鼠标内容留给GUI应用程序 尽管如此,这表明实际上可以从

我想为鼠标事件(仅鼠标滚动)编写一个控制台程序。如何在VC++中实现它?应用程序将仅侦听滚动事件

描述:如果用户向下滚动,桌面窗口将向下淡入,当用户向上滚动时,桌面窗口将淡入

在这里,我只需要知道如何在控制台应用程序中收听鼠标事件


注意:我使用win32 API进行开发,而对于开发环境,我使用的是VS2010。

我自己从来没有这样做过。似乎控制台应用程序响应鼠标事件几乎掩盖了它的本质和预期用途。通常,您只需要响应控制台应用程序的键盘输入,并将鼠标内容留给GUI应用程序


尽管如此,这表明实际上可以从Win32控制台应用程序捕获这些鼠标事件。通常,建议使用并从它填充的
INPUT\u记录
结构中提取感兴趣的信息。唯一棘手的事情是对
ReadConsoleInput
的调用是一个阻塞调用,这意味着在触发输入事件之前它不会返回。您需要相应地构造应用程序的代码。鼠标事件在整个页面的3/4部分都有详细介绍。

我自己从来没有这样做过。似乎控制台应用程序响应鼠标事件几乎掩盖了它的本质和预期用途。通常,您只需要响应控制台应用程序的键盘输入,并将鼠标内容留给GUI应用程序


尽管如此,这表明实际上可以从Win32控制台应用程序捕获这些鼠标事件。通常,建议使用并从它填充的
INPUT\u记录
结构中提取感兴趣的信息。唯一棘手的事情是对
ReadConsoleInput
的调用是一个阻塞调用,这意味着在触发输入事件之前它不会返回。您需要相应地构造应用程序的代码。鼠标事件在整个页面的3/4部分都有详细介绍。

@Cody:这正是我想要的。谢谢我喜欢你在第一段中的解释。@Ashwin:很高兴这对你有用。我想到的第一件事是全球挂钩,这可能不是最好的解决方案,所以我也学到了一些新东西@科迪:我玩了一些全球钩子游戏,结果它崩溃了,我无法让它按我需要的方式工作。这个很好用。它使我的设计保持简单。@Cody:嘿,Cody,我很想知道,有没有Linux和Windows通用的API或模块?来处理鼠标事件。@Ashwin:我肯定不是Linux程序员,所以我可能不是最好的要求这样做的人。但我最好的猜测告诉我没有。Linux和Windows处理I/O的方式不同,您不可能找到统一的库。但是很少能为多个平台编译一次代码,所以我不确定这到底有什么好处。如果你想从更有资格的人那里得到意见,就开始一个新问题。@Cody:这正是我想要的。谢谢我喜欢你在第一段中的解释。@Ashwin:很高兴这对你有用。我想到的第一件事是全球挂钩,这可能不是最好的解决方案,所以我也学到了一些新东西@科迪:我玩了一些全球钩子游戏,结果它崩溃了,我无法让它按我需要的方式工作。这个很好用。它使我的设计保持简单。@Cody:嘿,Cody,我很想知道,有没有Linux和Windows通用的API或模块?来处理鼠标事件。@Ashwin:我肯定不是Linux程序员,所以我可能不是最好的要求这样做的人。但我最好的猜测告诉我没有。Linux和Windows处理I/O的方式不同,您不可能找到统一的库。但是很少能为多个平台编译一次代码,所以我不确定这到底有什么好处。如果你想从更有资格的人那里得到意见,就开始一个新问题。