在控制台应用程序中捕获鼠标滚轮事件

时间:2013-04-06 21:44:42

标签: c# events console mousewheel

有没有办法使用c#在控制台应用程序中捕获鼠标滚轮事件,就像在GUI / Window应用程序中捕获鼠标滚轮事件一样?

我想这样做只能滚动控制台中的部分文本。

我搜索谷歌这个,但我能找到的只是Window应用程序中的鼠标滚轮事件。

2 个答案:

答案 0 :(得分:6)

调用ReadConsoleInput功能。在控制台上旋转滚轮时,您将收到MOUSE_WHEELED事件。

答案 1 :(得分:3)

你可以用“两个”部分来做到这一点:

  1. 在鼠标滚轮事件上创建全局系统挂钩(很好的例子 here

  2. 第二次使用PInvoke检查您的控制台是否处于活动状态(您     可以在这里找到一个例子:     Determine if current application is activated (has focus)

  3. 您可以在2中扩展函数以获取窗口RECT check here和     与窗口位置相交的鼠标位置