【发布时间】:2010-12-29 06:01:18
【问题描述】:
我想为鼠标事件编写一个控制台程序(只有鼠标滚动)。我如何在 VC++ 中做到这一点?应用程序将只监听滚动事件。
说明:如果用户向下滚动,桌面窗口会淡出,当用户向上滚动时会淡入。
在这里我只需要知道在控制台应用程序中监听鼠标事件。
注意:我正在使用win32 API进行开发,开发环境我使用的是VS2010。
【问题讨论】:
标签: winapi visual-c++ mouseevent
我想为鼠标事件编写一个控制台程序(只有鼠标滚动)。我如何在 VC++ 中做到这一点?应用程序将只监听滚动事件。
说明:如果用户向下滚动,桌面窗口会淡出,当用户向上滚动时会淡入。
在这里我只需要知道在控制台应用程序中监听鼠标事件。
注意:我正在使用win32 API进行开发,开发环境我使用的是VS2010。
【问题讨论】:
标签: winapi visual-c++ mouseevent
我自己从来没有真正这样做过。似乎响应鼠标事件的控制台应用程序几乎掩盖了它的本质和预期目的。通常,您只需要响应来自控制台应用程序的键盘输入并将鼠标的内容留给 GUI 应用程序。
话虽如此,this tutorial 表示实际上可以从 Win32 控制台应用程序中捕获这些鼠标事件。通常,建议使用ReadConsoleInput function 并从它填充的INPUT_RECORD 结构中提取感兴趣的信息。唯一棘手的是对ReadConsoleInput 的调用是一个阻塞 调用,这意味着在触发输入事件之前它不会返回。您需要相应地构建应用程序的代码。鼠标事件在页面下方大约 3/4 处详细介绍。
【讨论】: