有没有办法使用 c# 在控制台应用程序中捕获鼠标滚轮事件,就像在 GUI / Window 应用程序中捕获鼠标滚轮事件一样?
我想这样做以仅滚动控制台中的部分文本。
我已经在谷歌上搜索过这个,但我能找到的只是 Window 应用程序中的鼠标滚轮事件。
有没有办法使用 c# 在控制台应用程序中捕获鼠标滚轮事件,就像在 GUI / Window 应用程序中捕获鼠标滚轮事件一样?
我想这样做以仅滚动控制台中的部分文本。
我已经在谷歌上搜索过这个,但我能找到的只是 Window 应用程序中的鼠标滚轮事件。
调用ReadConsoleInput
函数。MOUSE_WHEELED
当您的控制台上的轮子旋转时,您将收到一个事件。
你可以用“两个”部分来做到这一点:
在鼠标滚轮事件上创建全局系统挂钩( 这里的好例子)
第二次使用 PInvoke 检查您的控制台是否处于活动状态(您可以在此处找到示例: 确定当前应用程序是否已激活(具有焦点))
您可以在 2 中扩展功能以在此处获取窗口 RECT检查并将鼠标位置与窗口位置相交