有没有办法使用c#在控制台应用程序中捕获鼠标滚轮事件,就像在GUI / Window应用程序中捕获鼠标滚轮事件一样?
我想这样做只能滚动控制台中的部分文本。
我搜索谷歌这个,但我能找到的只是Window应用程序中的鼠标滚轮事件。
答案 0 :(得分:6)
调用ReadConsoleInput
功能。在控制台上旋转滚轮时,您将收到MOUSE_WHEELED
事件。
答案 1 :(得分:3)
你可以用“两个”部分来做到这一点:
在鼠标滚轮事件上创建全局系统挂钩(很好的例子 here)
第二次使用PInvoke检查您的控制台是否处于活动状态(您 可以在这里找到一个例子: Determine if current application is activated (has focus))
您可以在2中扩展函数以获取窗口RECT check here和 与窗口位置相交的鼠标位置