有关于鼠标输入的问题和答案,但鼠标输入似乎没有解决这个问题。
假设“椅子”这个词打印在控制台上。有没有办法让鼠标悬停在哪个字符('c'、'h'、'a'、'i'、'r' 或无)上?
我真的不需要不断 self 更新的功能,我只需要学习一次角色(比如当用户按下按钮时)。
最佳答案
控制台 API 的 GetConsoleScreenBufferInfo
函数将使您尽可能接近您想要的(我认为)但需要额外的步骤:https://learn.microsoft.com/en-us/windows/console/getconsolescreenbufferinfo
如你所见,它返回一个CONSOLE_SCREEN_BUFFER_INFO
结构,它不仅包含光标的位置(dwCursorPosition
),还包含字符位置(wAttributes
)。
缺点是这只能在屏幕缓冲区中完成,用户可以在其中移动光标,就像他在编写命令时与 cmd 交互一样(使用左右箭头、单击等... ).
是的,我认为您无法检测到鼠标悬停,但使用屏幕缓冲区,您可以让用户点击字符或在字符中导航并注意该位置。
关于C 程序能否获取鼠标在 Windows 控制台中悬停的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50497145/